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