JS中的NaN和isNaN
Updated:
#一、NaN:not a number 不是个数字的数字类型
#但是属于数字类型1
2
3var a = number ('abc');
alert(a); //NaN
alert(typeof(a)); //number
注意:一旦程序出现NaN,肯定进行非法操作
#特性:1.NaN是假的布尔值1
2
3
4
5
6var a = number ('abc');
if(a){
alert('真');
}else{
('假')
} //假
#2.NaN与自己都不相等1
2var a = number ('abc');
alert(a===a); //false
#二、isNaN
#is not a number 是不是不是一个数字(不是数字)
作用:1.可以判断某些值是不是数字
返回true or false
#2.不喜欢数字,讨厌数字
##(1).对于数字
alert(isNaN(250)); //false
##(2).对于字符串。
1
2 alert(isNaN('我爱你')); //true
alert(isNaN('250')); //false
isNaN是内部基于Number()的判断,所以对于字符串我爱你,Number()返回NaN,则isNaN返回true;对于字符串250,Number()先将’250’转化为数字250,然后isNaN再做出判断。
##(3).对于函数1
2##(4).对于布尔值
```alert(isNaN(true)); //false
##(5).对于空数组1
alert(isNaN([ ])); //false
#三、HTML中拿到的内容,类型都是字符串
所以当需要判断数据类型时,需要用到isNaN()
1 | window.onload = function (){ |