Javascript变量:Var a和window.a的区别?

时间:2016-06-13 14:47:51

标签: javascript exception window

我试着明白为什么?

未定义变量a,我没有为其分配任何值。 但是,如果我调用a,它将返回异常,但a是一个窗口对象变量。如果我像a那样调用window.a,则返回undefined。 下面的截图是。 为什么呢?

screenshot

1 个答案:

答案 0 :(得分:0)

在第一种情况下,不存在a

您既没有声明a

所以js不知道a。当您尝试访问无存在变量时,它将抛出ReferenceError

在第二种情况下,您试图在window对象中找到名为a的属性。 window.a将检查窗口上是否定义了任何属性a。如果不是,它将返回undefined