JavaScript 循环
循环可以重复执行一段代码。
JavaScript 循环
循环很方便,如果你想反复运行相同的代码,每次使用不同的值。
这在处理数组时很常见。
不用写
text += cars[0] + "<br>";
text += cars[1] + "<br>";
text += cars[2] + "<br>";
text += cars[3] + "<br>";
text += cars[4] + "<br>";
text += cars[5] + "<br>";
你可以写
for (let i = 0; i < cars.length; i++) {
text += cars[i] + "<br>";
}
自己尝试一下 »
不同类型的循环
JavaScript 支持不同类型的循环
for
- 重复执行一段代码for/in
- 循环遍历对象属性for/of
- 循环遍历可迭代对象的元素while
- 当指定条件为真时,循环执行一段代码do/while
- 当指定条件为真时,也循环执行一段代码
For 循环
for
语句创建一个包含 3 个可选表达式的循环
for (表达式 1; 表达式 2; 表达式 3) {
// 要执行的代码块
}
表达式 1 在执行代码块之前执行(一次)。
表达式 2 定义执行代码块的条件。
表达式 3 在代码块执行之后执行(每次)。
从上面的例子中,你可以读到
表达式 1 在循环开始之前设置一个变量 (let i = 0)。
表达式 2 定义了循环运行的条件 (i 必须小于 5)。
表达式 3 在循环中的代码块执行完之后增加一个值 (i++)。
表达式 1
通常你会使用表达式 1 来初始化循环中使用的变量 (let i = 0)。
并非总是如此。JavaScript 不在乎。表达式 1 是可选的。
您可以在表达式 1 中初始化多个值(用逗号隔开)。
示例
for (let i = 0, len = cars.length, text = ""; i < len; i++) {
text += cars[i] + "<br>";
}
自己尝试一下 »
您也可以省略表达式 1(例如,当您的值在循环开始之前就已设置时)。
示例
let i = 2;
let len = cars.length;
let text = "";
for (; i < len; i++) {
text += cars[i] + "<br>";
}
自己尝试一下 »
表达式 2
表达式 2 通常用于评估初始变量的条件。
但这并非总是如此。JavaScript 并不关心。表达式 2 也是可选的。
如果表达式 2 返回 true,则循环将重新开始。如果它返回 false,则循环将结束。
如果省略表达式 2,则必须在循环中提供一个 **break**。否则,循环将永远不会结束。这将导致浏览器崩溃。在本教程的后续章节中了解有关 break 的内容。
表达式 3
表达式 3 通常用于递增初始变量的值。
但这并非总是如此。JavaScript 并不关心。表达式 3 是可选的。
表达式 3 可以做任何事情,例如负向递增 (i--)、正向递增 (i = i + 15) 或者其他任何事情。
也可以省略表达式 3(例如,当您在循环内递增值时)。
示例
let i = 0;
let len = cars.length;
let text = "";
for (; i < len; ) {
text += cars[i] + "<br>";
i++;
}
自己尝试一下 »
循环范围
在循环中使用 var
在循环中使用 let
在第一个示例中,使用 var
,在循环中声明的变量会重新声明循环外部的变量。
在第二个示例中,使用 let
,在循环中声明的变量不会重新声明循环外部的变量。
当使用 let
在循环中声明变量 i 时,变量 i 只能在循环内可见。
For/Of 和 For/In 循环
for/in
循环和 for/of
循环将在下一章中介绍。
While 循环
while
循环和 do/while
循环将在下一章中介绍。