似乎undefined是 window/global 的属性:
我一直认为undefined就像null一样,是 JavaScript 中的唯一值。
但是上面的代码(在 Chrome 中测试过)让我很困惑。
有人可以解释为什么
undefined in window
评估为真,而
null in window
评估为假
似乎undefined是 window/global 的属性:
我一直认为undefined就像null一样,是 JavaScript 中的唯一值。
但是上面的代码(在 Chrome 中测试过)让我很困惑。
有人可以解释为什么
undefined in window
评估为真,而
null in window
评估为假
在这种情况下,不仅,undefined
而且是 的值(从ES5.1 规范开始)。Infinity
NaN
global object
window
您无法为其分配值的事实undefined
是因为该属性是使用设置为的writable
属性false
定义的。
null
是类型primitive value
(as is for )5
的(as is ),而不是 的属性。 Null
Number
5
window
查看带注释的 ES5 规范以获取更多背景信息,它非常易读!