1

我遇到了这个奇怪的问题。

在此处输入图像描述

为什么会这样?!应该是这样吗?

4

4 回答 4

12

来自MDN 文档isNaN

与 JavaScript 中所有其他可能的值不同,不可能依赖相等运算符(== 和 ===)来确定一个值是否为 NaN,因为 NaN == NaN 和 NaN === NaN 都计算为错误的。因此,isNaN 函数的必要性。

改为使用isNaN

于 2012-05-28T17:05:00.330 回答
5

这背后的原因是应该保留数学规则。否则,就会有x == x + 1if xis NaN,这对于 x 的任何其他值都不是真正的关系。

于 2012-05-28T17:17:49.740 回答
3

这就是为什么我们使用

isNaN(x)

似乎 x 是一个 NaN 对象,它不等于另一个

于 2012-05-28T17:05:22.070 回答
2

NaN is像一个 SQL null。它永远不等于任何东西,包括它自己。这就是为什么有特殊情况功能isNaN()可以安全地测试NaN' 的存在。

于 2012-05-28T17:04:34.077 回答