javascript中的变量-尝试从子函数到主函数访问变量
我想通过subFunc从mainFunc访问变量x,但是我可以从全局范围或本地环境访问变量x 如何从subFunc访问mainFunc的变量xjavascript中的变量-尝试从子函数到主函数访问变量,javascript,variables,scope,hoisting,Javascript,Variables,Scope,Hoisting,我想通过subFunc从mainFunc访问变量x,但是我可以从全局范围或本地环境访问变量x 如何从subFunc访问mainFunc的变量x var x = 'global x' function mainFunc() { var x = 'mainFunc x' console.log(x) console.log(this.x) function subFunc() { var x = 'subFunc x' con
var x = 'global x'
function mainFunc()
{
var x = 'mainFunc x'
console.log(x)
console.log(this.x)
function subFunc()
{
var x = 'subFunc x'
console.log(x)
console.log(this.x)
}
subFunc()
}
mainFunc()
console.log(x)
每次在函数中执行
var x
,都是在生成变量的阴影版本。同名的不同变量。如果要访问同名的更高范围变量,请不要设置卷影版本,因为我可以访问mainFunc的x和global func的x,但无法访问mainFunc的x,是否有方法可以访问该变量?一旦创建卷影变量,您就无法访问范围更高的变量你的意思是它会影响词汇环境?不,如前所述。