课程
/前端开发
/JavaScript
/JavaScript深入浅出
NaN是属于什么类型?
2015-01-07
源自:JavaScript深入浅出 1-2
正在回答
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呢?
Kavin_Chen1981
老师太有耐心了。。。哈哈,谢谢老师。
NaN 属性是代表非数字值的特殊值。该属性用于指示某个值不是数字。可以把 Number 对象设置为该值,来指示其不是数字值。
举报
由浅入深学习JS语言特性,且解析JS常见误区,从入门到掌握
1 回答请问NaN不用单独区别,就是属于数字类,是吗
3 回答js六种类型,每个类型是什么意思?
1 回答关于NaN
2 回答有关于数据类型
1 回答类型检测有什么用处