我目前正在学习javascript范围,只是想知道是否可以在javascript中访问非全局阴影变量?即在下面的例子中,变量a
在aFunc
函数
var a = 1;
function aFunc(){
var a = 10;
function innerFunc(){
var a = 100;
console.log("innerFunc a = " + a);
console.log("is it possible to access outer function's a variable?");
console.log("global a = " + window.a);
}
innerFunc();
}
aFunc();
ps - 我明白用同名命名你的变量是非常糟糕的做法,但我想我出于好奇问了这个问题
答案 0 :(得分:1)
至少你不能用Javascript做到这一点。由于您故意将其隐藏(无法将其作为一项功能;)),因此您无法访问它。 Javascript没有一种机制来访问词法范围内的变量(一步到位)。