与南Javascript中比较(Comparing with NaN in Javascript)

2019-09-17 13:58发布

我遇到过这种奇怪的问题。

为何如此? 它应该是这样的吗?

Answer 1:

从MDN文档的isNaN

不像在JavaScript中的所有其他可能的值,它是不可能依靠相等运算符(==和===)来确定一个值是否是NaN或没有,因为两者的NaN == NaN的大和NaN === NaN的计算结果为假。 因此,一个isNaN功能的必要性。

使用isNaN来代替。



Answer 2:

这背后的原因是,数学的规则,应予以保留。 否则,人们将有X == X + 1如果x为NaN,这关系是不是真的对x的任何其他值。



Answer 3:

这就是为什么我们使用

isNaN(x)

看来,x为NaN对象,它并不比等于另一



Answer 4:

楠像一个SQL空。 这是从来没有无所不能的,包括它本身。 这就是为什么有特殊情况函数isNaN()为NaN的存在安全测试。



文章来源: Comparing with NaN in Javascript