JavaScript 循环语句总结
在 JavaScript 中,循环语句是编程的重要组成部分,它允许我们重复执行一段代码,直到满足特定条件为止。这在处理数组、对象和执行重复性任务时非常有用。下面将对 JavaScript 中常见的循环语句进行详细总结。
1. for 循环
基本语法
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]);
}
2. while 循环
基本语法
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);
}
3. do...while 循环
基本语法
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);
4. for...in 循环
基本语法
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
循环用于遍历对象的可枚举属性。每次迭代时,变量会被赋值为对象的一个属性名,然后可以通过该属性名访问对象的属性值。
使用场景
主要用于遍历对象的属性,不适合遍历数组,因为它会遍历数组的索引和可能存在的自定义属性。
5. for...of 循环
基本语法
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
用于遍历可迭代对象。在实际编程中,要根据具体需求灵活运用这些循环语句。