11

似乎undefined是 window/global 的属性:

在此处输入图像描述

我一直认为undefined就像null一样,是 JavaScript 中的唯一值。

但是上面的代码(在 Chrome 中测试过)让我很困惑。

有人可以解释为什么

undefined in window

评估为真,而

null in window

评估为假

4

1 回答 1

13

在这种情况下,不仅,undefined而且是 的值(从ES5.1 规范开始)。InfinityNaNglobal objectwindow

您无法为其分配值的事实undefined是因为该属性是使用设置为的writable 属性false定义的。

null类型primitive value(as is for )5的(as is ),而不是 的属性。 NullNumber5window

查看带注释的 ES5 规范以获取更多背景信息,它非常易读!

于 2013-04-22T07:46:35.820 回答