NaN,即非数值是一个特殊的数值,这个数值用于表示一个本来要返回数值的操作数未返回数值的情况下。
ECMAScript中任何数值除以0会返回NaN,因此不影响其他代码运行。
NaN特点:
1、任何涉及Nan操作都会返回Nan
2、Nan与任何值都不相等,包括NaN本身
isNaN(NaN); // true
isNaN(10); // false
isNaN("10"); // false
isNaN("blue"); // true;
isNaN(true); // false
isNaN()也合适用于对象。在基于对象的调用isNaN()函数时,会首先调用对象的valueOf()方法,然后确定返回该方法返回的值是否可以转换为数值。如果不能,则基于这个返回值在调用toString()方法,再测试返回值。