batsing
2015-01-07 22:08
NaN是属于什么类型?
NaN是number类型
typeof NaN // 'number'
NaN意思是Not A Number(不是数字), 它不是JavaScript仅有的,而是IEEE754标准规定的双精度浮点小数类型的特殊值。
Java的double与JavaScript的number是一样的,也有not a number.
需要注意NaN和任何值比较都不相等。
NaN == NaN // false NaN === NaN // false
那么,什么时候会遇到NaN这样的number值呢?
比如无效的计算:
1 / 'a' // NaN parseInt('abc'); // NaN
一般无效的计算结果会是NaN。
那么,既然不能用==来判断,如何判断一个值是不是NaN呢?
isNaN(NaN); // true isNaN(1); // false
方法就是调用上面的全局函数isNaN来判断。
number类型的特殊值不只有NaN,还有Infinity(无限大).
1 / 0 // Infinity
讲的很好。赞!
isNaN("1"); //false
引号内的不是字符串吗?为什么字符串会返回false呢?
isNaN("1"); //false
引号内的不是字符串吗?为什么字符串会返回false呢?
老师太有耐心了。。。哈哈,谢谢老师。
NaN 属性是代表非数字值的特殊值。该属性用于指示某个值不是数字。可以把 Number 对象设置为该值,来指示其不是数字值。
JavaScript深入浅出
281101 学习 · 1020 问题
相似问题