闭包解析
2018-08-02 本文已影响0人
曾经也是个少年
function a (x){
var z = 1;
return function(y){
alert(x+(y+1)+(z+1));
//console.log(x);
//console.log(y)
}
}
var c = a(1);
//console.log(c)
c(2);
单单这样肯定还有很多还是一脸懵逼,我们吧c打印出来,逻辑久很清楚了,其实c方法的真实面目其实是这样的:
function(y){
alert(y+(x+1)+(z+1)); //8
}
这样我们在匿名函数里面调用了a函数的z变量,这就是一个闭包函数