<script type="text/javascript">
var demo=[];
for(var i=0;i<3;i++){
demo[i] = function() {
console.log(i)
}
}
demo[0]();
demo[1]();
demo[2]();
</script>为什么最后返回的是三个3求解谢谢!
1 回答
已采纳
Caballarii
TA贡献1123条经验 获得超629个赞
因为赋值的过程和执行的过程是分开的,demo[0]()实际会替换成function(){console.log(i)}执行,这时候去找i的值,已经是循环执行完以后的值了,就是3,后面两个也一样
添加回答
举报
0/150
提交
取消