首页 > 其他 > 详细

数值的类型NaN

时间:2020-03-15 11:53:57      阅读:70      评论:0      收藏:0      [点我收藏+]

在逆战班的学习中,这个我周知道了NaN是什么。首先,它是数值类型的一种,NaN   not a number 不是一个数值,表示存储的数据的数据类型。

(1)如果有非数值参与计算,运行结果就是 NaN

       eg:  var str1 = ‘北京‘;

            var str2 = ‘上海‘;

     这两个变量中存储的数据,都不是数值, 执行结果就是NaN;

(2)有NaN参与,  执行结果也是NaN

    eg: a.  var res1 = str1 - str2;

              console.log(res1);

           b.  res2 = 100 - str1;

              console.log(res2);

(3) 如果是 用+ 加号参与运算的,两侧都是数值,执行加法运算:但是有一个是字符串,就执行字符串拼接操作。

       eg: console.log ( ‘北京‘ + 100 == ‘北京‘ + 100 );实现的是字符串拼接。

 

       总结:

       1)NaN虽然表示是一个非数字 , 但是一般是算术运算执行的结果, 因此NaN 仍然是 数值类型;

       2) 执行运算时 (非加法运算 )只要有NaN参与,执行结果都是NaN;

       3) 如果是加法运算 , 且有一个是字符串,那么 执行 字符串拼接操作; 都是数值时则执行 加法运算;

        4) NaN 永远 不会等于 NaN  即NaN == NaN  执行结果是 false

因为在JavaScript的规定中, NaN表示的是非数字, 但是这个非数字也是不同的, 因此 NaN 不等于 NaN即 两个NaN永远不可能相等。

   例如:a) console.log( NaN == NaN ); //执行结果为false

b) console.log ( ‘北京‘ - 100 == ‘北京‘ - 100 ); //执行结果为false

因为  比较的b)中不是 ‘北京‘-100  这个表达式, 而是 ‘北京‘-100 的结果,左侧 ‘北京‘-100 结果是 NaN, 右侧 ‘北京‘-100 结果是 NaN 但是 NaN 不等于 NaN 因此最后的执行结果为false。

数值的类型NaN

原文:https://www.cnblogs.com/w8261/p/12496537.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!