NaN虽然表示是一个非数字 , 但是一般是算术运算执行的结果
因此NaN 仍然是 数值类型
执行运算时 , 非加法运算 ,只要有NaN参与,执行结果都是NaN
如果是加法运算 , 有 NaN 执行 字符串拼接操作
都是数值执行 加法运算
NaN 永远 不会等于 NaN NaN == NaN 执行结果是 false
JavaScript的规定, NaN表示的是非数字, 但是这个非数字也是不同的
因此 NaN 不等于 NaN 即 两个NaN永远不可能相等
console.log( NaN == NaN ); --->false
console.log ( '北京' - 100 == '北京' - 100 ); --->false
比较的不是 '北京'-100 , 这个表达式 而是 '北京'-100 的结果
左侧 '北京'-100 结果是 NaN
右侧 '北京'-100 结果是 NaN
但是 NaN 不等于 NaN ,执行结果为false
console.log ( '北京' + 100 == '北京' + 100 );
如果是加号,执行字符串拼接,结果就是 true
本文深入探讨了JavaScript中NaN的概念,解析了NaN的性质及其在运算中的表现,包括NaN的不可比较性和在加法运算中导致的字符串拼接行为。
4259

被折叠的 条评论
为什么被折叠?



