JavaScript for 循环
示例
循环(迭代)代码块五次
for (let i = 0; i < 5; i++) {
text += i + "<br>";
}
自己动手试一试 »
循环(迭代)数组以收集汽车名称
const cars = ["BMW", "Volvo", "Saab", "Ford"];
for (let i = 0; i < cars.length; i++) {
text += cars[i] + "<br>";
}
自己动手试一试 »
- 循环从位置 0 开始(
let i = 0
)。 - 循环在每次运行时自动递增
i
。 - 循环一直运行,只要
i < cars.length
为真。
更多示例见下文。
描述
for
语句定义了一个代码块,该代码块在条件为 true
时执行。
语法
for (语句 1; 语句 2; 语句 3) {
要执行的代码块
}
参数
参数 | 描述 |
语句 1 | 可选。 在代码块开始之前执行。 通常用于初始化计数器变量。 要初始化多个值,请用逗号分隔每个值。 此参数可以省略,但分号“;”不能省略 |
语句 2 | 可选。 执行代码块的条件。 如果它返回 true ,循环将再次开始,否则循环将结束。此参数可以省略,但分号“;”不能省略 |
语句 3 | 可选。 在代码块之后执行。 通常用于递增计数器变量。 此参数可以省略(例如,在循环内部增加/减少值) |
JavaScript 循环语句
语句 | 描述 | |
break | 跳出循环 | |
continue | 跳过循环中的一个值 | |
while | 当条件为真时循环代码块 | |
do...while | 执行一次代码块,然后当条件为真时继续循环 | |
for | 当条件为真时循环代码块 | |
for...of | 遍历任何可迭代对象的值 | |
for...in | 遍历对象的属性 |
更多示例
在第一个参数中初始化多个值
const cars = ["BMW", "Volvo", "Saab", "Ford"];
for (let i = 0, len = cars.length, text = ""; i < len; i++) {
text += cars[i] + "<br>";
}
自己动手试一试 »
省略第一个参数(在循环开始之前设置值)
const cars = ["BMW", "Volvo", "Saab", "Ford"];
let i = 2;
let len = cars.length;
let text = "";
for (; i < len; i++) {
text += cars[i] + "<br>";
}
自己动手试一试 »
使用 continue
- 循环代码块,但跳过值 3
let text = "";
for (let i = 0; i < 5; i++) {
if (i == 3) continue;
text += i + "<br>";
}
自己动手试一试 »
使用 break
- 循环代码块,但当 i == 3
时退出循环
let text = "";
for (let i = 0; i < 5; i++) {
if (i == 3) break;
text += i + "<br>";
}
自己动手试一试 »
省略第二个参数。
使用 break
退出循环,否则循环将永远不会结束,并且您的浏览器将崩溃
const cars = ["BMW", "Volvo", "Saab", "Ford"];
let text = "";
for (let i = 0; ; i++) {
if (i == cars-length) break;
text += cars[i] + "<br>";
}
自己动手试一试 »
按降序(负增量)遍历数组
const cars = ["BMW", "Volvo", "Saab", "Ford"];
let text = "";
for (let i = cars.length - 1; i >= 0; i--) {
text += cars[i] + "<br>";
}
自己动手试一试 »
省略最后一个参数,并在循环内部递增值
const cars = ["BMW", "Volvo", "Saab", "Ford"];
let i = 0;
let len = cars.length;
for (; i < len;) {
text += cars[i] + "<br>";
i++;
}
自己动手试一试 »
遍历 NodeList 并更改列表中所有 p 元素的颜色
const myNodelist = document.getElementsByTagName("P");
for (let i = 0; i < myNodelist.length; i++) {
myNodelist[i].style.color = "blue";
}
自己动手试一试 »
嵌套循环(循环中的循环)
let text = "";
for (let = 0; i < 3; i++) {
text += i + "<br>";
for (let j = 10; j < 15; j++) {
text += j + "<br>";
}
}
自己动手试一试 »
浏览器支持
for
是 ECMAScript1 (ES1) 的一个特性。
ES1 (JavaScript 1997) 在所有浏览器中都得到完全支持
Chrome | Edge | Firefox | Safari | Opera | IE |
是 | 是 | 是 | 是 | 是 | 是 |