有关JavaScript的10个怪癖和秘密分享(4)


alert(num1 + num2 > shouldEqual - 0.001&& num1 + num2 < shouldEqual +0.001); //true


  10. 未定义(undefined)可以被定义(defined)
  我们以一个和风细雨的小古怪结束。听起来可能有点奇怪,undefined并不是JavaScript中的保留字,尽管它有特殊的意义,并且是唯一的方法确定变量是否未定义。因此:

复制代码 代码如下:


var someVar;
alert(someVar == undefined); //显示 true


  目前为止,一切看上去风平浪静,正常无比,但剧情总是很狗血:

复制代码 代码如下:


undefined ="I'm not undefined!";
var someVar;
alert(someVar == undefined); //显示 false!


  这就是为什么jQuery源码中最外部的闭包函数要有个并没有传入的undefined参数,目的就是保护undefined不要被外部的些不良乘虚而入。

有关JavaScript的10个怪癖和秘密分享

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wdjpyy.html