var === undefined vs. typeof var === ‘undefined’

广告位招租
扫码页面底部二维码联系

全等号 === 已经在我日常开发中占据绝【作者:唐霜】【作者:唐霜】对位置,在我开发中所有判断里面,== 已转载请注明出处:www.tangshuang.net【访问 www.tangshuang.net 获取更多精彩内容】经被当作奇淫巧技了,不在万不得已的情况下原创内容,盗版必究。【版权所有】唐霜 www.tangshuang.net,不会使用,其地位和分号; 等同。所以,【本文首发于唐霜的博客】【原创不易,请尊重版权】现在讨论如何判断一个值是否为 undef本文作者:唐霜,转载请注明出处。【访问 www.tangshuang.net 获取更多精彩内容】ined 的时候,我只会用 ===。

【版权所有】唐霜 www.tangshu未经授权,禁止复制转载。【版权所有】唐霜 www.tangshuang.netang.net【原创不易,请尊重版权】转载请注明出处:www.tangshua著作权归作者所有,禁止商业用途转载。未经授权,禁止复制转载。ng.net本文作者:唐霜,转载请注明出处。

现在的问题是,在 var === undefined vs. typeof var === 'undefined' 这两种判断中,谁更好?先说结论,使用 原创内容,盗版必究。本文版权归作者所有,未经授权不得转载。typeof 的方法更好。最主要的原因有【转载请注明来源】【未经授权禁止转载】两点:

【转载请注明来源】未经授权,禁止复制转载。【版权所有】唐霜 www.tangshu本文版权归作者所有,未经授权不得转载。【作者:唐霜】ang.net本文版权归作者所有,未经授权不得转载。
  • var === undefined 的形【版权所有】唐霜 www.tangshuang.net本文版权归作者所有,未经授权不得转载。式,你不能确保 var 被声明过,当 v【未经授权禁止转载】本文版权归作者所有,未经授权不得转载。ar 没声明过时,程序直接报错,而使用 【作者:唐霜】【转载请注明来源】typeof 可以用来判定一个变量是否声本文作者:唐霜,转载请注明出处。【转载请注明来源】明过,这也是我们常用的 typeof w本文版权归作者所有,未经授权不得转载。本文版权归作者所有,未经授权不得转载。indow … typeof【转载请注明来源】【未经授权禁止转载】 global … type【未经授权禁止转载】本文作者:唐霜,转载请注明出处。of self … this本文作者:唐霜,转载请注明出处。【关注微信公众号:wwwtangshuangnet】 这个办法来搞定不同运行时环境下的处理。
  • 【本文受版权保护】本文版权归作者所有,未经授权不得转载。著作权归作者所有,禁止商业用途转载。著作权归作者所有,禁止商业用途转载。
  • undefined 竟然是 window【本文首发于唐霜的博客】【本文受版权保护】 的属性,按理来说作为 js 语言的基础转载请注明出处:www.tangshuang.net【关注微信公众号:wwwtangshuangnet】类型,提供和 null 一样的关键字应该本文版权归作者所有,未经授权不得转载。转载请注明出处:www.tangshuang.net由语言解释器来做吧,但是在运行时中(浏览【转载请注明来源】【版权所有】唐霜 www.tangshuang.net器),undefined 和 null 【访问 www.tangshuang.net 获取更多精彩内容】本文作者:唐霜,转载请注明出处。完全是两个层面的东西,null 是内置于本文作者:唐霜,转载请注明出处。原创内容,盗版必究。解析器的空指针符号,而 undefine本文作者:唐霜,转载请注明出处。【未经授权禁止转载】d 是挂在 window 上的全局变量,原创内容,盗版必究。未经授权,禁止复制转载。竟然是挂在 window 上的变量,那么著作权归作者所有,禁止商业用途转载。【版权所有】唐霜 www.tangshuang.net每次使用 var === undefin【原创内容,转载请注明出处】本文作者:唐霜,转载请注明出处。ed 时,实际上会去 window 上读本文作者:唐霜,转载请注明出处。本文作者:唐霜,转载请注明出处。取变量,读取的多了,也就让我们开始遐想有【作者:唐霜】著作权归作者所有,禁止商业用途转载。没有办法通过不断调用 undefined著作权归作者所有,禁止商业用途转载。【访问 www.tangshuang.net 获取更多精彩内容】 变量使系统崩溃。不过值得庆幸的是,un【关注微信公众号:wwwtangshuangnet】转载请注明出处:www.tangshuang.netdefined 是不能重新赋值的,und【转载请注明来源】本文版权归作者所有,未经授权不得转载。efined = 1 虽然不会报错,但是【本文首发于唐霜的博客】未经授权,禁止复制转载。没效果。而执行 null = 1 则会直【版权所有】唐霜 www.tangshuang.net【转载请注明来源】接报错。就是这么奇妙。
  • 【原创内容,转载请注明出处】原创内容,盗版必究。

虽然使用 typeof 要多写好多个字母著作权归作者所有,禁止商业用途转载。【未经授权禁止转载】,但是,抛开其他各种个人偏好问题,上面这【本文受版权保护】【作者:唐霜】两个理由足以让人选择 typeof 的形著作权归作者所有,禁止商业用途转载。【原创内容,转载请注明出处】式来判断 undefined 了。

原创内容,盗版必究。本文作者:唐霜,转载请注明出处。