课程
/前端开发
/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
那么,什么时候会遇到NaN这样的number值呢?
比如无效的计算:
1 /
'a'
// NaN
parseInt(
'abc'
);
一般无效的计算结果会是NaN。
那么,既然不能用==来判断,如何判断一个值是不是NaN呢?
isNaN(NaN);
// true
isNaN(1);
方法就是调用上面的全局函数isNaN来判断。
number类型的特殊值不只有NaN,还有Infinity(无限大).
1 / 0
// Infinity
讲的很好。赞!
isNaN(
"1"
//false
引号内的不是字符串吗?为什么字符串会返回false呢?
Kavin_Chen1981
isNaN("1"); //false
老师太有耐心了。。。哈哈,谢谢老师。
NaN 属性是代表非数字值的特殊值。该属性用于指示某个值不是数字。可以把 Number 对象设置为该值,来指示其不是数字值。
举报
由浅入深学习JS语言特性,且解析JS常见误区,从入门到掌握
1582
2377
957
2150
1777
1 回答请问NaN不用单独区别,就是属于数字类,是吗
3 回答js六种类型,每个类型是什么意思?
1 回答关于NaN
2 回答有关于数据类型
8 回答null=NaN么
购课补贴联系客服咨询优惠详情
慕课网APP您的移动学习伙伴
扫描二维码关注慕课网微信公众号