似乎未定义是window / global的属性:
我一直认为 undefined 与 null 一样,是JavaScript中的uniqe值。
但是上面的代码(在Chrome中测试)让我很困惑。
可以解释为什么
undefined in window
评估为真,而
null in window
评估为假
答案 0 :(得分:12)
undefined
,Infinity
和NaN
不仅是global object
的值,在本例中为window
(截至ES5.1 specification })。
您无法为undefined
分配值的事实是因为该属性是在writable
attribute设置为false
的情况下定义的。
null
是primitive value
5
的{{3}}(Null
} Number
5
window
),而不是{{1}}的属性。
请查看type了解更多相关背景信息,它非常易读!