1、闭包:在一个函数内部的匿名函数,不管前面有没有return,都可以看做是一个闭包
2、闭包只能取得包含函数中任何变量的最后一个值,因为闭包所保存的是整个变量对象。
如:function createF(){
var res=[];
for(var i=0;i<10;i++){
res[i]=function(){ return i;}
}
return res;
}
此时返回的是一个数组,数组元素都是10.解决这种问题的方法就是使用匿名包装器,
res[i]=function(num){
return function(){
return num;
};
}(i);