1. 什么是 NaN ?
NAN全称是(not a number)是js中奇妙的存在,一般情况下只出现在Number方法的返回值中。虽然是 not a number 的意思,但是它js七大数据类型中的number类型。
2.NAN的神奇特点:
* NAN是Number类型
var a = number('abc');
alert(a);
//返回值是NAN
alert(typeof(a));
//返回值是Number
*NAN自己都不等于自己
var a = Number('abc');
console.log(a===a);
//结果是false
*通过Boolean()方法可以将NaN转化为 false 或者说NaN的布尔结果
是false
var a = Number('100px');
console.log(Boolean(a));
//结果为false
3.isNaN()方法:
isNaN: is not a number,就是判断是不是数字,它的返回值是 ture 或者是false。其实它调用的是Number方法,如果Number的返回值是NaN的话,那么isNaN()的返回值则是ture,否则是false,
alert(isNaN('a'));
//结果是ture
就是先调用Number('a'),然后再用返回值与NaN作比较,如下:
alert(isNaN('520'));
//结果是false
即便()里面是带引号的字符类型520,但是先调用了Number方法那个变成了number类型的520。