我试着明白为什么?
未定义变量a
,我没有为其分配任何值。
但是,如果我调用a
,它将返回异常,但a
是一个窗口对象变量。如果我像a
那样调用window.a
,则返回undefined。
下面的截图是。
为什么呢?
答案 0 :(得分:0)
在第一种情况下,不存在a
。
您既没有声明a
。
所以js不知道a
。当您尝试访问无存在变量时,它将抛出ReferenceError
在第二种情况下,您试图在window对象中找到名为a
的属性。 window.a
将检查窗口上是否定义了任何属性a
。如果不是,它将返回undefined