查看此代码,如果我在循环终止后调度日志i
,i = 10
但我不明白如何。
i
设置为0
,然后与i < 10
一样递增1,因此它会在9
处停止递增。因此,在循环内的日志中,我从0到9计数,但是当我在循环结束后记录i
时。它已经变成了10。
我不明白9-10的情况如何。
"use strict";
var foo = [];
for (var i = 0; i < 10; i++) {
console.log(i);
foo[i] = function() { return i};
}
console.log(i);
有人可以向我解释一下吗?谢谢:))
答案 0 :(得分:2)
在i = 9
之后,循环将其递增为10
。然后它会检查i < 10
是否为false,因此您的代码会以值i = 10
退出循环。
通常,循环按顺序执行
答案 1 :(得分:2)
你的订单混乱了。这是怎么回事:
i < 10
i
(i++
)1
因此,循环结束的方式是i++
将值移至10
,然后检查条件。由于i
不再小于10,因此循环结束。
答案 2 :(得分:1)
你最后一行有一个console.log。 i
被分配10
(通过添加1),然后循环评估它是否应该继续,但i
必须超过9才能停止循环。
答案 3 :(得分:0)
在最后一次循环之后,i++
最后一次运行,因此i
为10.然后i < 10
条件失败,因此循环退出。
答案 4 :(得分:0)
循环在达到10后退出 看到条件i&lt; 10
输入错字