变量和全局变量的作用域问题

function a(){

y=function(){

X=2;

}

return function(){

var x=3;

y();

console.log(this.x);


}.apply(this,arguments)

}

a();

结果是undefined,原因是当前的this是window,apply函数在这里是为了迷惑,把apply函数去掉后,再执行的a返回的结果函数,一样还是undefined

你可能感兴趣的:(变量和全局变量的作用域问题)