在 JavaScript 中,for
循环用于将一段代码执行固定次数,或者遍历一个数组的元素。
下面是一个 for
循环的快速示例。您可以阅读教程的其余部分以获取更多详细信息。
示例
for (let i = 0; i < 3; i++) {
console.log("Hello, world!");
}
// Output:
// Hello, world!
// Hello, world!
// Hello, world!
在此示例中,我们使用 for
循环将 "Hello, world!"
打印到控制台三次。
JavaScript for 循环语法
for
循环的语法是:
for (initialExpression; condition; updateExpression) {
// for loop body
}
这里,
initialExpression
- 初始化一个计数器变量。condition
- 要评估的条件。如果为true
,则执行for
循环的主体。updateExpression
- 更新initialExpression
的值。
一旦循环完成一次迭代,就会再次评估 condition
。该过程一直持续到条件为 false
。
要了解有关 condition
的更多信息,请访问JavaScript 比较和逻辑运算符。
JavaScript for 循环流程图

示例 1:打印数字 1 到 5
for (let i = 1; i < 6; i++) {
console.log(i);
}
输出
1 2 3 4 5
在此示例中,我们使用 for
循环打印了数字 1 到 5。
这个程序的工作原理如下:
迭代 | 变量 | 条件:i < 6 | 操作 |
---|---|---|---|
第 1 次 | i = 1 |
true |
打印 1。i 增加到 2。 |
第 2 次 | i = 2 |
true |
打印 2。i 增加到 3。 |
第 3 次 | i = 3 |
true |
打印 3。i 增加到 4。 |
第 4 次 | i = 4 |
true |
打印 4。i 增加到 5。 |
第 5 个 | i = 5 |
true |
打印 5。i 增加到 6。 |
第 6 个 | i = 6 |
false |
循环终止。 |
示例 2:显示 n 个自然数的总和
// program to display the sum of natural numbers
let sum = 0;
const n = 100
// loop from i = 1 to i = n
// in each iteration, i is increased by 1
for (let i = 1; i <= n; i++) {
sum += i; // sum = sum + i
}
console.log(`sum: ${sum}`);
// Output: sum: 5050
最初,sum 的值为 0,而 n 的值为常量 100。
然后,我们从 i = 1 到 n
迭代一个 for
循环。在每次迭代中,
- i 被加到 sum 中。
- 然后,i 的值增加 1。
当 i 变为 101 时,测试条件变为 false
,sum 将等于 0 + 1 + 2 + ... + 100
。
遍历数组
for
循环也可用于遍历数组的元素。例如,
const fruits = ["apple", "banana", "cherry"];
for (let i = 0; i < fruits.length; i++) {
console.log(fruits[i]);
}
输出
apple banana cherry
此循环遍历 fruits 数组并将每个元素打印到控制台。
更多关于 JavaScript for 循环
一个 for
循环中也可以包含另一个 for
循环。对于外层循环的每个周期,内层循环都会完成其整个迭代序列。例如,
// outer loop
for (let i = 0; i < 3; i++) {
// inner loop
for (let j = 0; j < 2; j++) {
console.log(`i = ${i}, j = ${j}`);
}
}
输出
i = 0, j = 0 i = 0, j = 1 i = 1, j = 0 i = 1, j = 1 i = 2, j = 0 i = 2, j = 1
这里,
- 外层循环 - 从
i = 0 到 2
运行。 - 内层循环 - 从
j = 0 到 1
运行。
在外层循环的每次迭代中,内层循环都从 j = 0 到 1
运行。
在 JavaScript 中,我们可以通过设置一个始终求值为 true
的条件来创建无限 for
循环。例如,
for (let i = 0; true; i++) {
console.log("This loop will run forever!");
}
输出
This loop will run forever! This loop will run forever! This loop will run forever! …
在此示例中,for
循环中的条件显式设置为 true
。
由于此条件永远不会改变且始终求值为 true
,因此循环将无限期地继续(直到内存耗尽)。
注意:我们通常应避免创建无限循环,因为它将消耗所有可用资源来无休止地执行循环。
我们可以省略 for
循环声明的任何部分,并将其包含在代码的其他部分。
让我们看一个例子。
// initialization outside the loop
let i = 0;
// omit initialization and update statements
for (; i < 3; ) {
console.log(`i is ${i}`);
// increment inside the loop body
i++;
}
输出
i is 0 i is 1 i is 2
在这里,我们在循环之前初始化了 i,该循环将一直迭代,直到 i 小于 3。
请注意,i 在循环体内递增,这允许我们跳过 for
循环括号 ()
中的更新语句。
换句话说,for (; i < 3; )
表示省略了初始化和更新表达式,只关注条件。
另请阅读