JavaScript中的undefined和window.undefined有什么区别?

时间:2010-03-30 08:16:17

标签: javascript undefined

如果a未定义,则可行:

if(window.a) {}

虽然这会引发错误:

if(a)

有人可以解释原因吗?

1 个答案:

答案 0 :(得分:10)

window.awindow的属性,而未定义a是一个变量,它是未声明的

要使用变量,首先应使用var语句声明它。由于您未声明a,解释程序会引发错误。为了使用它们,不需要显式声明对象属性。 Crockford在 The Good Parts 中写道:

  

如果您尝试从中提取值   一个对象,如果该对象没有   有一个有这个名字的成员,它   返回未定义的值。