Sind in JavaScript mit Ausnahme von NaN alle anderen Variablen gleich sich selbst?
学习ing2017-07-05 10:50:13
0
4
1432
Wie ermittelt JavaScript schnell, ob der Wert einer Variablen val NaN ist? Wenn mit Ausnahme des NaN-Werts alle anderen Variablen gleich sich selbst sind, reicht es aus, direkt zu beurteilen, ob val===val?
NaN is a very special value in that it's never equal to another NaN value (i.e., it's never equal to itself). It's the only value, in fact, that is not reflexive (without the Identity characteristic x === x). So, NaN !== NaN.
NaN是JavaScript里面唯一一个非自反的值,也就是
这本书里面有提到:
你不知道的JavaScript
是的,NaN 使用 isNaN 或者 是否等于自己来判断
同时,反过来说,如果两个变量相等判断这两个变量是否相同有 +0 和 -0 的特殊情况,使用倒数判断是否相等。
题主试一试?
ES6在
Number
对象上,新提供了Number.isNaN()
方法,建议直接使用Number.isNaN()
来检查一个值是否为NaN
。另外除开
+0
和-0
的情况,===
是满足需求的,更好一点的方式使用Object.is()