非数值(Not a Number)NaN的解释

时间:2022-10-17 08:43:02

它是一个特殊的数值。它用于表示一个本来要返回数值的操作数未返回数值的情况。

在ECMAScript中,任何数值除以0会返回NaN,而不会导致错误,不会停止代码的执行,因此不会影响其他代码的执行。

NaN本身两个不同寻常的特点:

1.任何涉及NaN的操作都会返回NaN,这个特点在多步计算中有可能导致问题。

2.NaN与任何值都不相等,包括NaN本身,即:alert(NaN == NaN);  //false

isNaN()函数,它可以接受一个任何类型的参数,例如:

alert(isNaN(NaN));   //true

alert(isNaN(10));   //false

alert(isNaN("10"));   //false (可以被转化成数值10)

alert(isNaN("blue"));   //true (不能转换成数值)

alert(isNaN(true));   //false