NaN是Not a Number的缩写,代表非数字值的特殊值,该属性用于指示某个值不是数字。如果有非数值参与计算,结果就是 NaN。NaN与自身不相等(NaN不与任何值相等)
在JavaScript中,只要有NaN参与的非加法运算,结果就是NaN
<script>
var a="北京";
var b="上海";
var sum=a-b;
console.log(sum);
</script>
如果加法运算,有NaN参与,执行字符串拼接,结果就是 true
-逆战班
<script>
var a="北京";
var b="上海";
var sum=a-b;
console.log(sum);
var c=a+100;
console.log ( c);
</script>
NaN虽然表示是一个非数字,但是一般是算术运算执行的结果,因此NaN 仍然是数值类型。
NaN == NaN 执行结果是 false。JavaScript的规定,NaN表示的是非数字, 但是这个非数字也是不同的,因此,NaN 不等于 NaN,并且两个NaN永远不可能相等。
<script>
var a="北京";
var b="上海";
var sum=a-b;
console.log(sum);
var c=a+100;
console.log ( c);
console.log( NaN == NaN );
console.log ( '北京' - 100 == '北京' - 100 );
</script>