我遇到了这个奇怪的问题。
为什么会这样?!应该这样吗?
答案 0 :(得分:11)
与JavaScript中的所有其他可能值不同,它是不可能的 依赖等于运算符(==和===)来判断是否 值是否为NaN,因为NaN == NaN和NaN === NaN都是评估的 为假。因此,isNaN函数的必要性。
改为使用isNaN
。
答案 1 :(得分:3)
背后的原因是应该保留数学规则。否则,如果x是NaN,则x == x + 1,对于x的任何其他值,该关系不为真。
答案 2 :(得分:2)
这就是我们使用
的原因isNaN(x)
似乎x是一个NaN对象,并且它不会与另一个
进行比较答案 3 :(得分:1)
NaN就像一个SQL null。它永远不会等于任何东西,包括它自己。这就是为什么特殊情况函数isNaN()可以安全地测试NaN的存在。