在这个for循环之后我怎么样?

时间:2016-03-29 20:43:59

标签: javascript

查看此代码,如果我在循环终止后调度日志ii = 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);

有人可以向我解释一下吗?谢谢:))

5 个答案:

答案 0 :(得分:2)

i = 9之后,循环将其递增为10。然后它会检查i < 10是否为false,因此您的代码会以值i = 10退出循环。

通常,循环按顺序执行

  1. 初始化循环变量
  2. 检查条件是否为真。
  3. 更新循环变量

答案 1 :(得分:2)

你的订单混乱了。这是怎么回事:

  1. 如果i < 10
  2. 执行循环体
  3. 更新ii++
  4. 返回1
  5. 因此,循环结束的方式是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

输入错字