如果i变量包含在循环定义中,为什么它没有在其中使用?

时间:2015-03-30 14:44:18

标签: javascript

我正在对Code School进行练习,但我不明白循环是如何工作的。

有一个i,但我没有看到它被使用过。通常你在某个地方使用它。否则,for循环是什么?

var puzzlers = [
  function(a) { return 8 * a - 10; },
  function(a) { return (a - 3) * (a - 3) * (a - 3); },
  function(a) { return a * a + 4; },
  function(a) { return a % 5; }
];
var start = 2;

var applyAndEmpty = function(input, queue) {
  var length = queue.length;
  for (var i = 0; i < length; i++) {
    input = queue.shift()(input);
  }
  return input;
};

alert(applyAndEmpty(start, puzzlers));

5 个答案:

答案 0 :(得分:6)

它在测试中用于查看是否已到达循环的结尾(for语句的第二部分)。

答案 1 :(得分:4)

没有循环中定义的循环边界。 循环永远不会结束!

答案 2 :(得分:4)

该变量仅用于计算循环的迭代次数。循环在长度迭代之后结束,由 i 跟踪。

在这种情况下, i 没有其他用途。

答案 3 :(得分:3)

总是一直使用i,但是如果你需要的话,那就是。通常情况下,如果你不使用i,那么你可以改为使用for-each循环。 for-each只是编写for循环而不需要显式索引变量的简单方法。

Javascript没有简单的for-each循环作为语言的一部分,我认为他们希望将其保留为for循环只是为了让课程简单,但如果你想详细了解javascript中的for-each,请查看this问题

答案 4 :(得分:3)

正在使用它 - 确保循环迭代length次。

如果您要从0计算到length - 1,您需要一些东西来记录计数,对吗?