NaN == NaN 的结果是什么?为什么?

402 阅读1分钟

NaN == NaN 的结果是什么?为什么?

NaN:not a number, 表示存储的数据的数据类型,不是一个数值。 如果有非数值参与计算,结果就是 NaN。

NaN虽然表示是一个非数字,但是一般是算术运算执行的结果,因此NaN 仍然是 数值类型。
NaN == NaN 执行结果是 false。JavaScript的规定,NaN表示的是非数字, 但是这个非数字也是不同的,因此,NaN 不等于 NaN,并且两个NaN永远不可能相等

原因: JavaScript的规定, NaN表示的是非数字, 那么这个非数字可以是不同的数字,因此 NaN 不等于 NaN。

注:两个NaN永远不可能相等

在执行运算时:

1.如果有非数值参与运算,结果都是NaN

1).两个变量存储的数据都不是数值

2).其中一个变量存储的数据不是数值

2.如果是 + 运算,则执行字符串拼接操作