在这里研究JS中的全局变量,我开始尝试一下,令我惊讶的是:
var thisVar = "global var";
function showVarLet() {
var thisVar = "local var";
console.log("%s %s", thisVar, window.thisVar);
}
showVarLet();
给我:
local var
undefined
但在浏览器控制台中也是如此,给了我:
local var
global var
那么,这个窗口对象是怎么回事呢?
编辑:
我试图在控制台中检查如果我引用this.thisVar
而不是window.thisVar
会发生什么,我的假设是我会访问局部变量,但我继续访问全局变量,为什么会这样?
我展示的代码在一个名为
global()
的函数中
那么两个thisVar
S 都不是全局的,一个是 global()
函数的局部变量,另一个是 showVarLet()
的局部变量。您无法通过 window.
访问局部变量。