NaN是什么?
定义:
1.not a number 不是一个数值
2.表示存储数据的数据类型,不是一个数值
3.如果有非数值进行运算,结果就是NaN
NaN == NaN 的结果?
console.log( NaN == NaN ); //false
执行结果为false
在JavaScript中的规定, NaN表示的是非数字, 但是这个非数字也是不同的;因此 NaN 不等于 NaN,两个NaN永远不可能相等
扩展学习
NaN运算情况:
1.两个变量中存储的都不是数值,执行结果就是NaN
2.有NaN参与,结果就是NaN
注意:
执行运算时 , 非带"+"号的运算 ,只要有NaN参与,执行结果都是NaN
如果是带"+"号的运算 , 有一侧是NaN、字符串,就执行字符串拼接操作
如果是带"+"号的运算,都是数值,执行加法运算
例子如下:
console.log('北京' - '上海'); //NaN
console.log(100 - NaN); //NaN
console.log(100 + NaN); //NaN
console.log(100 + '北京'); //100北京
console.log ( '北京' - 100 == '北京' - 100 ); // false;左侧 '北京'-100 结果是 NaN;右侧 '北京'-100 结果是 NaN;NaN 不等于 NaN
console.log ( '北京' + 100 == '北京' + 100 ); //true;执行字符串拼接,结果是 true
执行结果