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

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

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

【关注微信公众号:wwwtangshua【关注微信公众号:wwwtangshuangnet】原创内容,盗版必究。ngnet】【本文受版权保护】未经授权,禁止复制转载。

现在的问题是,在 var === undefined vs. typeof var === 'undefined' 这两种判断中,谁更好?先说结论,使用 未经授权,禁止复制转载。原创内容,盗版必究。typeof 的方法更好。最主要的原因有【作者:唐霜】【关注微信公众号:wwwtangshuangnet】两点:

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

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

【作者:唐霜】【关注微信公众号:wwwtangshua原创内容,盗版必究。转载请注明出处:www.tangshuang.netngnet】【作者:唐霜】【原创内容,转载请注明出处】