在JavaScript中,null
、NaN
和undefined
有什么区别?
我已经遇到过这三个值,并且理解它们在我找到它们的上下文中表示“这里没有任何东西”,但我希望能得到更详细的解释,以了解它们发生的原因以及它们在不同上下文中的含义(例如- 数组、类或变量)。
在JavaScript中,null
、NaN
和undefined
有什么区别?
我已经遇到过这三个值,并且理解它们在我找到它们的上下文中表示“这里没有任何东西”,但我希望能得到更详细的解释,以了解它们发生的原因以及它们在不同上下文中的含义(例如- 数组、类或变量)。
NaN: 不是一个数
: 如字面意思所示,它用于表示对象的值不是数字。有许多方法可以生成此错误,其中之一是无效的数学运算,如0/0或sqrt(-1)。
undefined
: 它意味着对象没有任何值,因此是未定义的。当您创建一个变量并没有为其分配一个值时,就会出现这种情况。
null
: 它表示对象为空,并且没有指向任何内存地址。
obj.missingValue
,即使 missingValue
属性不存在,对象 也存在。同样,对只有一个元素的数组执行 arr[42]
会产生 undefined
,但 arr
本身是存在的。因此,也许更正确的说法是你可以访问某个东西,但它还没有被赋值。 - VLAZ