NaN
NaN not a number 不是一个数值
NaN 表示存储的数据的数据类型,不是一个数值
如果有非数值参与计算,结果就是 NaN
- 两个变量中存储的数据,都不是数值
执行结果就是NaN
v ar str1 = '北京';
var str2 = '上海';
var res1 = str1 - str2;
console.log(res1);
- 有NaN参与,结果就是NaN
var res2 = 100 - str1;
console.log(res2);
-
总结 NaN虽然表示是一个非数字 , 但是一般是算术运算执行的结果 因此NaN 仍然是 数值类型 执行运算时 , 非加法运算 ,只要有NaN参与,执行结果都是NaN 如果是加法运算 , 有 NaN 执行 字符串拼接操作都是数值执行 加法运算 NaN 永远 不会等于 NaN NaN == NaN 执行结果是 false JavaScript的规定, NaN表示的是非数字, 但是这个非数字也是不同的 因此 NaN 不等于 NaN, 两个NaN永远不可能相等