美文网首页
判断一个变量是否是NaN

判断一个变量是否是NaN

作者: 没_有_人 | 来源:发表于2018-09-29 16:00 被阅读0次

判断一个数是否是NaN都会想到NaN===NaN 判断是否相等,可是这个方法是不行的。那为什么这个方法是不行的呢,其实从字面意思理解就ok了。NaN(not a number),意思是不是一个数字,不是一个数字和另外一个不是一个数字相比较。这个好像没法比较吧,字符串 aaaa (not a number),字符串bbbb (not a number) 这两个字符串都是NaN,那你说它俩相不相等呢。显然是不相等的。
还有一个方法,js提供了isNaN() 的方法,判断是否是NaN,但是有一个问题,isNaN只能判断是不是NaN并不能判断这个变量是否是数字。比如:

isNaN('a'); true

这个效果不是我想看到的。

所以我们还是要手动处理一下,使用isNaN前面先判断一下变量是否是number类型的

function IsNaN(value) { 
    return typeof value === 'number' && isNaN(value); 
} 

这样如果变量是number类型的前提下再满足isNaN就可以了。其他的属性类型一概返回false;

console.log(IsNaN('a'));//false
console.log(IsNaN(0));//false
console.log(IsNaN(NaN));//true

相关文章

网友评论

      本文标题:判断一个变量是否是NaN

      本文链接:https://www.haomeiwen.com/subject/mqavoftx.html