function createFunctions () {
var result = new Array();
for(var i=0;i<10;i++){
result[i] = function(num){
return function(){
return num;
};
}(i);
}
return result;
}
createFunctions();
为什么调用了这个函数确没有任何效果,应该怎样去调用才能显示 result数组?
我不明白了,如果只是给
result
赋值,为什么要创建个闭包绕那么大个圈呢。其实就是个等于啊~假如真的有需求在循环里创建闭包,正确的姿势如下: