NaN是js中比较独特的存在值,这个数值用于表示一个本来要返回数值的操作数未返回数值的情况,避免抛出错误。NaN有个特点就是与任何值不相等,比如:
NaN === NaN // false
这里总结了5种判断是否为NaN的方法。
- 方法一、 typeof 与 isNaN 的配合
var a = NaN;
if(typeof(a) === "number"){ isNaN(a) // true }
- 方法二、判断是否与自身相等
var a = NaN;
a === a // false
- 方法三、Object.is方法检测
var a = NaN;
Object.is(a,a) // true
- 方法四、利用Number.isNaN 方法判断
var a = NaN;
Number.isNaN(a) // true
- 方法五、利用String转成字符串再比较
String(NaN) === "NaN" //true
记录一下,以后有更多的验证方法再补充......