NaN是什么 NaN == NaN 的结果是什么?为什么?

NaN:not a number, 表示存储的数据的数据类型,不是一个数值。 如果有非数值参与计算,结果就是 NaN。
当两个变量中存储的数据都不是数值时,执行结果就是NaN。
在这里插入图片描述
在这里插入图片描述
有NaN参与,结果就是NaN。
在这里插入图片描述
在这里插入图片描述
如果是 + 加号,两侧都是数值,执行加法运算, 有一个是字符串,就执行字符串拼接操作。
在这里插入图片描述
在这里插入图片描述
NaN虽然表示是一个非数字,但是一般是算术运算执行的结果,因此NaN 仍然是 数值类型。
NaN == NaN 执行结果是 false。JavaScript的规定,NaN表示的是非数字, 但是这个非数字也是不同的,因此,NaN 不等于 NaN,并且两个NaN永远不可能相等。
在这里插入图片描述
在这里插入图片描述
执行运算时, 非加法运算 ,只要有NaN参与,执行结果都是NaN, 如果是加法运算 , 有 NaN 执行 字符串拼接操作, 都是数值执行 加法运算。
减法
在这里插入图片描述
在这里插入图片描述
比较的不是 ‘北京’-100 , 这个表达式 而是 ‘北京’-100 的结果
左侧 ‘北京’-100 结果是 NaN
右侧 ‘北京’-100 结果是 NaN
但是 NaN 不等于 NaN
加法
在这里插入图片描述
在这里插入图片描述
如果是加号,执行字符串拼接,结果就是 true。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐