有没有办法在javascript中访问非全局阴影变量

时间:2017-07-06 06:36:02

标签: javascript variables scope global

我目前正在学习javascript范围,只是想知道是否可以在javascript中访问非全局阴影变量?即在下面的例子中,变量aaFunc函数

中等于10
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 - 我明白用同名命名你的变量是非常糟糕的做法,但我想我出于好奇问了这个问题

1 个答案:

答案 0 :(得分:1)

至少你不能用Javascript做到这一点。由于您故意将其隐藏(无法将其作为一项功能;)),因此您无法访问它。 Javascript没有一种机制来访问词法范围内的变量(一步到位)。