欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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>

JavaScript中的NaN
2.

<script>
    // 有NaN参与,结果就是NaN
    var str1 = '你好';
    var res2 = 100 - str1;
    console.log(res2);
</script>

JavaScript中的NaN
3.

<script>
    var str1 = '你好';
    // 如果是 + 加号
    // 两侧都是数值,执行加法运算
    // 有一个是字符串,就执行字符串拼接操作
    var res3 = 100 + str1;
    console.log(res3);
</script>

JavaScript中的NaN

三、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>

JavaScript中的NaN

相关标签: javascript js