NaN是属于什么类型?

来源:1-2 JavaScript六种数据类型

batsing

2015-01-07 22:08

NaN是属于什么类型?

写回答 关注

7回答

  • Bosn
    2015-01-07 22:30:04
    已采纳

    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


  • Bosn
    2015-01-07 22:33:27

    那么,什么时候会遇到NaN这样的number值呢?

    比如无效的计算:

    1 / 'a' // NaN
    parseInt('abc'); // NaN

    一般无效的计算结果会是NaN。


    那么,既然不能用==来判断,如何判断一个值是不是NaN呢?

    isNaN(NaN); // true
    isNaN(1); // false

    方法就是调用上面的全局函数isNaN来判断。


    number类型的特殊值不只有NaN,还有Infinity(无限大).

    1 / 0 // Infinity


  • dyang1986
    2015-10-19 09:55:49

    讲的很好。赞!

  • candywxt
    2015-05-01 23:00:37
    isNaN("1"); //false

    引号内的不是字符串吗?为什么字符串会返回false呢?

    Kavin_...

    isNaN()方法是判断传入值是不是NaN,只要不是NaN都是false

    2017-05-05 16:04:29

    共 1 条回复 >

  • candywxt
    2015-05-01 22:57:33

    isNaN("1"); //false

    引号内的不是字符串吗?为什么字符串会返回false呢?

  • purple_yao
    2015-01-12 13:50:19

    老师太有耐心了。。。哈哈,谢谢老师。

  • 一毛钱
    2015-01-07 22:21:58

    NaN 属性是代表非数字值的特殊值。该属性用于指示某个值不是数字。可以把 Number 对象设置为该值,来指示其不是数字值。

JavaScript深入浅出

由浅入深学习JS语言特性,且解析JS常见误区,从入门到掌握

281101 学习 · 1020 问题

查看课程

相似问题