为什么这两个不同?
var x = NaN; //e.g. Number("e");
alert(isNaN(x)); //true (good)
alert(x == NaN); //false (bad)
Nothing等于NaN
。任何比较都会是false
.
在严格比较算法和抽象比较算法中,如果类型相同,并且任一操作数都是NaN
,结果将是false
.
如果 Type(x) 是 Number,则
- If
x
is NaN
, 返回false
.
- If
y
is NaN
, 返回false
.
在抽象算法中,如果类型不同,并且NaN
是其中一个操作数,那么另一个操作数最终将被强制转换为数字,并将我们带回到上面的场景。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)