8

和在 JavaScript 中Null有什么区别?NaNundefined

我遇到了所有三个值,并且在我发现它们的上下文中将它们理解为“这里没有任何东西”——但我希望能更详细地解释它们为什么会出现,以及它们的含义在不同的上下文中(例如,针对数组,针对类或变量)。

4

1 回答 1

18

NaN: Not a number:顾名思义,用来表示一个对象的值不是一个数字。有很多方法可以生成此错误,一种是无效的数学运算,例如 0/0 或 sqrt(-1)

undefined:这意味着该对象没有任何价值,因此未定义。当您创建一个变量但不为其赋值时,就会发生这种情况。

null: 这意味着对象是空的并且没有指向任何内存地址。

于 2018-05-13T21:21:05.717 回答