var a = [];for (var i = 0; i < 10; i++) { a[i] = function () { return console.log(i) // alert(i); };}a[1]()// 10代码如上所示想不明白,为什么输出的不是9,而是10。不是for循环10次,i的值从0到9吗?
1 回答
一只甜甜圈
TA贡献1836条经验 获得超5个赞
首先为什么不是9是10 9的那次循环结束不是要i++吗。i就等于10了呀!
第二,a数组里面放的是函数,函数只有在调用的时候才会被执行。你在for循环中根本就没有呗执行啊
只有在最后a[1]()这才被调用执行,此时i为10,所以是10
添加回答
举报
0/150
提交
取消
