为什么我们使用“ i”作为变量来控制Javascript循环?

时间:2019-05-23 02:57:03

标签: javascript html loops for-loop variables

我一直想知道为什么我们在Javascript循环中使用i不能是任何字母吗?只是想知道为什么i似乎是默认值。

for (i = 0; i < 5; i++) {
  text += "The number is " + i + "<br>";
}

4 个答案:

答案 0 :(得分:3)

循环中通常使用几种变量名称:

i可能是最常见的,因为它只有一个字母,代表index

您的代码示例应定义 i,如下所示:

for (let i = 0; i < 5; i++) {
  text += "The number is " + i + "<br>";
}

否则,它是在全局范围内创建的,只是不应该发生的。

答案 1 :(得分:2)

这是来自Fortran which originally made all variables beginning with i, j, ... n implicitly integer (a convention common to mathematical notation as well, at least for i, j and k), and all other names (a-h, o-z) implicitly real的历史文物。许多代码最终都借用了该约定来表示一次性整数变量名称,将i用于外部循环,将j用于下一个循环,依此类推。

并没有真正的押韵或原因(除了i经常被用来表示“索引”或“整数”),只是一个常见的约定。约定可以使用i(因为我们都知道您的意思);如果您不使用它,则可能需要一个拼写的名称,而不是其他无法描述变量代表什么的随机单字母名称。

答案 2 :(得分:1)

没有任何理由-这只是一个命名约定,它表示索引(字母i)或循环计数器(迭代)。您可以使用任何喜欢的变量名:

let text = "";
for (anExtremelyLongCounterName = 0; anExtremelyLongCounterName < 5; anExtremelyLongCounterName++) {
  text += "The number is " + anExtremelyLongCounterName + "<br>";
}
document.write(text);

还要注意,当前您的代码隐式声明了一个全局变量。使用letvar使它变得更好。

答案 3 :(得分:0)

您可以为此使用任何字母或任何有效的变量名。当我第一次学习编程时,老师指示我们将lcv用于循环控制变量。

无论如何回答您的原始问题,i在大多数具有类似for循环结构的语言中通常用于控制循环迭代,我相信它是从单词的第一个字母衍生而来的增加。然后按照约定,如果您有嵌套循环,则下一个循环控制变量将是字母i之后的字母:j,然后是k,等等。

但是,正如我之前提到的,它可以是您选择的任何变量名称。但是谁愿意为抛弃型变量做那么多的输入呢?