In JavaScript ist NaN
ein spezieller numerischer Wert (das Ergebnis von typeof NaN
ist number
), was nicht ist eine Abkürzung für Zahl
, die angibt, dass es sich nicht um eine gültige Zahl handelt. NaN
是一个特殊的数字值(typeof NaN
的结果为number
),是not a number
的缩写,表示不是一个合法的数字。
1. NaN的产生:
Number('abc') // NaN Number(undefined) // NaN
Math.log(-1) // NaN Math.sqrt(-1) // NaN Math.acos(2) // NaN
NaN
NaN + 1 // NaN 10 / NaN // NaN
2. 注意点
NaN
是唯一一个和自身不相等的值:
NaN === NaN // false
3. 如何辨别NaN
我们可以使用全局函数isNaN()
来判断一个数值是不是一个非数字(并不是用来判断是不是NaN
这个值):
isNaN(NaN) // true isNaN(10) // false
为什么说isNaN()
不是用来判断是不是NaN
这个值的呢?因为isNaN
对非数字不起作用,它首先做的就是把这些值转换成数字,转换的结果可能为NaN
,然后函数会错误地返回true
:
isNaN('abc') // true
所以我们想确定这个一个值是为NaN
,可以使用以下两种方法:
isNaN()
和typeof
结合来判断function isValueNaN(value) { return typeof value === 'number' && isNaN(value) }
NaN
1. Generierung von NaN: function isValueNaN(value) { return value !== value }
rrreee
rrreee2 /span>NaN
NaN
ist der einzige 🎜Wert, der nicht gleich sich selbst ist: 🎜rrreee🎜🎜🎜Wir können die globale Funktion isNaN()
verwenden, um zu bestimmen, ob ein Wert eine 🎜Nicht-Zahl🎜 ist (wird nicht verwendet, um festzustellen, ob dies der Fall ist). NaN
-Wert): 🎜rrreee🎜Warum heißt es, dass isNaN()
nicht verwendet wird, um zu bestimmen, ob es sich um den Wert NaN
handelt? Da isNaN
nicht mit Nicht-Zahlen funktioniert, werden diese Werte zunächst in Zahlen umgewandelt. Das Ergebnis der Konvertierung kann NaN
sein dann gibt die Funktion fälschlicherweise true
zurück: 🎜rrreee🎜Wir möchten also sicherstellen, dass dieser Wert NaN
ist. Wir können die folgenden zwei Methoden verwenden: 🎜isNaN ()
und typeof
werden kombiniert, um 🎜🎜rrreee zu bestimmenNaN
ist der einzige 🎜 Der Wert einer solchen Funktion)🎜🎜rrreee🎜【Verwandte Empfehlungen: 🎜Javascript-Video-Tutorial🎜, 🎜Programmiervideo🎜】🎜Das obige ist der detaillierte Inhalt vonEin Artikel über NaN in JavaScript. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!