JavaScript中的NaN
程序员文章站
2022-03-16 21:35:53
...
本文主要介绍NaN是什么? NaN == NaN 的结果是什么?为什么?
一、NaN是什么
NaN 是代表非数字值的特殊值,该属性用于指示某个值不是数字。NaN虽然表示是一个非数字 , 但是一般是算术运算执行的结果,因此NaN 仍然是数值类型。
如果有非数值参与计算,结果就是 NaN。
二、NaN详解
1.
<script>
var str1 = '你好';
var str2 = '再见';
// 两个变量中存储的数据,都不是数值
// 执行结果就是NaN
var res1 = str1 - str2;
console.log(res1);
</script>
2.
<script>
// 有NaN参与,结果就是NaN
var str1 = '你好';
var res2 = 100 - str1;
console.log(res2);
</script>
3.
<script>
var str1 = '你好';
// 如果是 + 加号
// 两侧都是数值,执行加法运算
// 有一个是字符串,就执行字符串拼接操作
var res3 = 100 + str1;
console.log(res3);
</script>
三、NaN == NaN 的结果是什么?为什么?
JavaScript的规定, NaN表示的是非数字, 但是这个非数字也是不同的
因此 NaN 永远不等于NaN,所以NaN == NaN 的结果为false
<script>
console.log(NaN == NaN);//结果为false
console.log('你好' - 100 == '你好' - 100);//结果为false
// 比较的不是 '你好'-100 , 这个表达式,而是 '你好'-100 的结果
// 左侧 '你好'-100 结果是 NaN
// 右侧 '你好'-100 结果是 NaN
// 但是 NaN 不等于 NaN
console.log('你好' + 100 == '你好' + 100);//结果为true
// 如果是加号,执行字符串拼接,结果就是 true
</script>
推荐阅读
-
PHP中可以自动分割查询字符的Parse_str函数使用示例,parse_str示例
-
ES6中超实用的几个技巧总结
-
图解JavaScript中的this关键字_javascript技巧
-
蚂蚁庄园小鸡正在工作中是什么意思 小鸡正在工作中的原因
-
javascript css float属性的特殊写法_javascript技巧
-
在JavaScript中实现类的方式探讨_javascript技巧
-
将json对象转换为字符串的方法_javascript技巧
-
IE8对JS通过属性和数组遍历解析不一样的地方探讨_javascript技巧
-
微信分享的标题、缩略图、连接及描述设置方法_javascript技巧
-
浅析CSS3 中的 transition,transform,translate之间区别和作用