JavaScript中的Null,NaN和undefined有什么区别?

What is the difference between Null, NaN and undefined in JavaScript?

本问题已经有最佳答案,请猛点这里访问。

在javascript中,NullNaNundefined有什么区别?

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


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

undefined表示对象没有任何值,因此没有定义。当您创建一个变量而不给它赋值时,就会发生这种情况。

null:表示对象是空的,没有指向任何内存地址。