Maison > Questions et réponses > le corps du texte
Comment JavaScript détermine-t-il rapidement si la valeur d'une variable val est NaN ? Si, à l'exception de la valeur NaN, toutes les autres variables sont égales à elle-même, alors il suffit de juger directement si val===val
?
怪我咯2017-07-05 10:52:13
NaN est la seule valeur non réflexive en JavaScript, qui est
NaN === NaN // false
Ce livre mentionne :
NaN est une valeur très spéciale dans la mesure où elle n'est jamais égale à une autre valeur NaN (c'est-à-dire qu'elle n'est jamais égale à elle-même). En fait, c'est la seule valeur qui n'est pas réflexive (sans la caractéristique d'identité x === x). . Alors, NaN !== NaN.
JavaScript que vous ne connaissez pas
女神的闺蜜爱上我2017-07-05 10:52:13
Oui, NaN peut être jugé en utilisant isNaN ou s'il est égal à vous-même
En même temps, à l'inverse, si deux variables sont égales pour déterminer si les deux variables sont identiques, il existe des cas particuliers de +0 et -0, et utilisez l'inverse pour déterminer si elles sont égales.
阿神2017-07-05 10:52:13
let a = []
let b = []
console.log(a===b)
Voulez-vous essayer la question ?
曾经蜡笔没有小新2017-07-05 10:52:13
ES6 en Number
对象上,新提供了Number.isNaN()
方法,建议直接使用Number.isNaN()
来检查一个值是否为NaN
。
另外除开 +0
和 -0
的情况,===
是满足需求的,更好一点的方式使用Object.is()