为什么Infinity-Infinity NaN?

时间:2015-09-27 10:47:46

标签: javascript

我坚持下面提到的这种特殊情况。有人可以向我解释下列行为的原因是什么。

为什么Infinity - Infinity结果NaN, but NaN === (Infinity-Infinity)结果为false

1 个答案:

答案 0 :(得分:6)

答案在于<强>完整形式的NaN NaN代表非数字 因此,如果某些东西不是数字,则无法进行比较或检查是否相等。

以数学方式,

Infinity - Infinity = NaN   (1)

NaN == Infinity - Infinity  (2)

这里(1)NaN持有一个表示结果无法量化的值。

在(2)中,您正在检查2个不可量化的实体的相等性。

希望这是有道理的。

P.S。我知道可以比较字符串值,但NaN不是这种情况。