982

1、函数a中有一个函数b,可以访问函数a中的变量,然后形成闭包。

2、闭包可以读取其他函数内部的变量。

3、闭包是连接函数内部和函数外部的桥梁。

返回闭包时,返回函数不要引用任何循环变量,或者后续会发生变化的变量。

实例

functioncount(){
vararr=[];
for(vari=1;i<=3;i++){
//创建的3个函数都添加到一个`Array`中返回
arr.push(function(){
returni*i;
);


returnarr;

varresults=count();
varf1=results[0];
varf2=results[1];
varf3=results[2];
alert(f1());//16
alert(f2());//16
alert(f3());//16

发表回复