它是一个特殊的数值。它用于表示一个本来要返回数值的操作数未返回数值的情况。
在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