闭包
令人费解的闭包
刚开始介绍概念,大多人都会懵圈,看代码为君解忧
function a(){
var i=0;
function b(){
alert(++i);
}
return b;
}
var c=a();
c();
这段代码有两个特点:
1、函数b嵌套在函数a内部;
2、函数a返回函数b。
这样在执行完var c=a( )后,变量c实际上是指向了函数b,再执行c( )后就会弹出一个窗口显示i的值(第一次为1)。这段代码其实就创建了一个闭包,这是因为函数a外的变量c引用了函数a内的函
原创
2020-06-01 22:12:11 ·
150 阅读 ·
0 评论