全等号 === 已经在我日常开发中占据绝转载请注明出处:www.tangshuang.net【关注微信公众号:wwwtangshuangnet】对位置,在我开发中所有判断里面,== 已本文作者:唐霜,转载请注明出处。转载请注明出处:www.tangshuang.net经被当作奇淫巧技了,不在万不得已的情况下未经授权,禁止复制转载。原创内容,盗版必究。,不会使用,其地位和分号; 等同。所以,【作者:唐霜】【转载请注明来源】现在讨论如何判断一个值是否为 undef【本文首发于唐霜的博客】著作权归作者所有,禁止商业用途转载。ined 的时候,我只会用 ===。
本文作者:唐霜,转载请注明出处。【作者:唐霜】【访问 www.tangshuang.net 获取更多精彩内容】现在的问题是,在 var === undefined vs. typeof var === 'undefined' 这两种判断中,谁更好?先说结论,使用 【转载请注明来源】【原创内容,转载请注明出处】typeof 的方法更好。最主要的原因有原创内容,盗版必究。【关注微信公众号:wwwtangshuangnet】两点:
- var === undefined 的形未经授权,禁止复制转载。著作权归作者所有,禁止商业用途转载。式,你不能确保 var 被声明过,当 v未经授权,禁止复制转载。【本文受版权保护】ar 没声明过时,程序直接报错,而使用 本文作者:唐霜,转载请注明出处。【版权所有】唐霜 www.tangshuang.nettypeof 可以用来判定一个变量是否声著作权归作者所有,禁止商业用途转载。【本文首发于唐霜的博客】明过,这也是我们常用的 typeof w【原创内容,转载请注明出处】未经授权,禁止复制转载。indow … typeof【原创内容,转载请注明出处】【版权所有】唐霜 www.tangshuang.net global … type原创内容,盗版必究。转载请注明出处:www.tangshuang.netof self … this【本文受版权保护】【原创不易,请尊重版权】 这个办法来搞定不同运行时环境下的处理。 【作者:唐霜】【原创内容,转载请注明出处】著作权归作者所有,禁止商业用途转载。【未经授权禁止转载】
- undefined 竟然是 window【访问 www.tangshuang.net 获取更多精彩内容】著作权归作者所有,禁止商业用途转载。 的属性,按理来说作为 js 语言的基础本文作者:唐霜,转载请注明出处。【版权所有】唐霜 www.tangshuang.net类型,提供和 null 一样的关键字应该转载请注明出处:www.tangshuang.net【作者:唐霜】由语言解释器来做吧,但是在运行时中(浏览未经授权,禁止复制转载。【原创内容,转载请注明出处】器),undefined 和 null 【转载请注明来源】未经授权,禁止复制转载。完全是两个层面的东西,null 是内置于【未经授权禁止转载】【访问 www.tangshuang.net 获取更多精彩内容】解析器的空指针符号,而 undefine未经授权,禁止复制转载。【原创内容,转载请注明出处】d 是挂在 window 上的全局变量,【转载请注明来源】著作权归作者所有,禁止商业用途转载。竟然是挂在 window 上的变量,那么【关注微信公众号:wwwtangshuangnet】原创内容,盗版必究。每次使用 var === undefin【作者:唐霜】转载请注明出处:www.tangshuang.neted 时,实际上会去 window 上读未经授权,禁止复制转载。【版权所有,侵权必究】取变量,读取的多了,也就让我们开始遐想有【访问 www.tangshuang.net 获取更多精彩内容】著作权归作者所有,禁止商业用途转载。没有办法通过不断调用 undefined【转载请注明来源】【访问 www.tangshuang.net 获取更多精彩内容】 变量使系统崩溃。不过值得庆幸的是,un转载请注明出处:www.tangshuang.net【版权所有,侵权必究】defined 是不能重新赋值的,und【访问 www.tangshuang.net 获取更多精彩内容】【本文受版权保护】efined = 1 虽然不会报错,但是【未经授权禁止转载】转载请注明出处:www.tangshuang.net没效果。而执行 null = 1 则会直【原创不易,请尊重版权】【版权所有,侵权必究】接报错。就是这么奇妙。 未经授权,禁止复制转载。原创内容,盗版必究。著作权归作者所有,禁止商业用途转载。
虽然使用 typeof 要多写好多个字母【原创内容,转载请注明出处】未经授权,禁止复制转载。,但是,抛开其他各种个人偏好问题,上面这【本文受版权保护】原创内容,盗版必究。两个理由足以让人选择 typeof 的形转载请注明出处:www.tangshuang.net【原创不易,请尊重版权】式来判断 undefined 了。
著作权归作者所有,禁止商业用途转载。【版权所有】唐霜 www.tangshuang.net【版权所有,侵权必究】【原创不易,请尊重版权】
