var data =[];
for(var i=0;i<3;i++){ data[i] = function(i){ console.log(i);
}
}
data[0]();
data[1]();
data[2]();1、请问一下为何执行data[0]时是undefined?2、for循环执行后,会分配3个空间,放着3个function吗?如果是,i的值会传进去吗?3、执行结果是undefined,是因为执行完for循环完,没有3个空间,都释放了吗?还是其他原因4、如果像传进去i,要用闭包(我已经试过了),是闭包会分配空间一直不释放吗?有其他方法吗?
添加回答
举报
0/150
提交
取消