我遇到过这种奇怪的问题。
为何如此? 它应该是这样的吗?
我遇到过这种奇怪的问题。
为何如此? 它应该是这样的吗?
从MDN文档的isNaN
:
不像在JavaScript中的所有其他可能的值,它是不可能依靠相等运算符(==和===)来确定一个值是否是NaN或没有,因为两者的NaN == NaN的大和NaN === NaN的计算结果为假。 因此,一个isNaN功能的必要性。
使用isNaN
来代替。
这背后的原因是,数学的规则,应予以保留。 否则,人们将有X == X + 1如果x为NaN,这关系是不是真的对x的任何其他值。
这就是为什么我们使用
isNaN(x)
看来,x为NaN对象,它并不比等于另一
楠像一个SQL空。 这是从来没有无所不能的,包括它本身。 这就是为什么有特殊情况函数isNaN()为NaN的存在安全测试。