在 JavaScript 中,循环语句是编程的重要组成部分,它允许我们重复执行一段代码,直到满足特定条件为止。这在处理数组、对象和执行重复性任务时非常有用。下面将对 JavaScript 中常见的循环语句进行详细总结。
javascript
for (初始化表达式; 条件表达式; 迭代表达式) {
// 循环体
}
javascript
for (let i = 0; i < 5; i++) {
console.log(i);
}
true
,则继续执行循环体;如果为 false
,则终止循环。当你知道循环的次数时,for
循环是一个很好的选择,比如遍历数组的元素。
javascript
const numbers = [1, 2, 3, 4, 5];
for (let i = 0; i < numbers.length; i++) {
console.log(numbers[i]);
}
javascript
while (条件表达式) {
// 循环体
}
javascript
let j = 0;
while (j < 5) {
console.log(j);
j++;
}
true
,就会不断执行循环体。在每次循环迭代后,需要手动更新条件表达式中涉及的变量,否则可能会导致无限循环。当你不确定循环的具体次数,只知道循环继续的条件时,使用 while
循环比较合适。例如,从用户那里获取输入,直到输入符合特定条件。
javascript
let input;
while (input!== 'quit') {
input = prompt('请输入内容,输入 quit 退出:');
console.log('你输入的是:', input);
}
javascript
do {
// 循环体
} while (条件表达式);
javascript
let k = 0;
do {
console.log(k);
k++;
} while (k < 5);
do...while
循环与 while
循环类似,但它会先执行一次循环体,然后再检查条件表达式。这意味着无论条件表达式的初始值如何,循环体至少会执行一次。当你需要确保循环体至少执行一次时,do...while
循环是一个不错的选择。比如,在游戏中,玩家至少要进行一次操作。
javascript
let score = 0;
let playAgain;
do {
// 模拟游戏操作
score += Math.floor(Math.random() * 10);
console.log('当前得分:', score);
playAgain = confirm('是否再玩一次?');
} while (playAgain);
javascript
for (变量 in 对象) {
// 循环体
}
javascript
const person = {
name: 'John',
age: 30,
city: 'New York'
};
for (let key in person) {
console.log(key + ': ' + person[key]);
}
for...in
循环用于遍历对象的可枚举属性。每次迭代时,变量会被赋值为对象的一个属性名,然后可以通过该属性名访问对象的属性值。主要用于遍历对象的属性,不适合遍历数组,因为它会遍历数组的索引和可能存在的自定义属性。
javascript
for (变量 of 可迭代对象) {
// 循环体
}
javascript
const fruits = ['apple', 'banana', 'cherry'];
for (let fruit of fruits) {
console.log(fruit);
}
for...of
循环用于遍历可迭代对象,如数组、字符串、Set、Map 等。每次迭代时,变量会被赋值为可迭代对象的一个元素。适合遍历数组、字符串等可迭代对象,它比 for...in
更适合处理数组,因为它只遍历元素,不包括数组的额外属性。
不同的循环语句适用于不同的场景,选择合适的循环语句可以提高代码的可读性和效率。for
循环适合已知循环次数的情况;while
和 do...while
循环适合根据条件控制循环;for...in
用于遍历对象属性;for...of
用于遍历可迭代对象。在实际编程中,要根据具体需求灵活运用这些循环语句。