循环语句
循环语句用于重复执行一段代码,直到满足特定条件为止。JavaScript 提供了多种循环语句来满足不同的需求。
for 循环
for 循环是最常用的循环语句之一,它允许我们精确控制循环的次数。
语法
javascript
for (initialization; condition; increment) {
// 循环体
}示例
javascript
// 打印数字 1 到 5
for (let i = 1; i <= 5; i++) {
console.log(i);
}
// 遍历数组
let fruits = ["苹果", "香蕉", "橙子"];
for (let i = 0; i < fruits.length; i++) {
console.log(fruits[i]);
}for...in 循环
for...in 循环用于遍历对象的可枚举属性。
语法
javascript
for (property in object) {
// 循环体
}示例
javascript
let person = {
name: "张三",
age: 25,
job: "开发者"
};
for (let key in person) {
console.log(key + ": " + person[key]);
}
// 输出:
// name: 张三
// age: 25
// job: 开发者for...of 循环
for...of 循环用于遍历可迭代对象(如数组、字符串等)。
语法
javascript
for (element of iterable) {
// 循环体
}示例
javascript
// 遍历数组
let colors = ["红色", "绿色", "蓝色"];
for (let color of colors) {
console.log(color);
}
// 遍历字符串
let text = "Hello";
for (let char of text) {
console.log(char);
}while 循环
while 循环在条件为真时重复执行代码块。
语法
javascript
while (condition) {
// 循环体
}示例
javascript
let count = 1;
while (count <= 5) {
console.log(count);
count++;
}do...while 循环
do...while 循环至少会执行一次循环体,然后在条件为真时继续执行。
语法
javascript
do {
// 循环体
} while (condition);示例
javascript
let i = 1;
do {
console.log(i);
i++;
} while (i <= 5);循环控制语句
break 语句
break 语句用于立即跳出循环。
javascript
for (let i = 1; i <= 10; i++) {
if (i === 5) {
break; // 当 i 等于 5 时跳出循环
}
console.log(i);
}
// 输出:1 2 3 4continue 语句
continue 语句用于跳过当前循环的剩余部分,直接进入下一次循环。
javascript
for (let i = 1; i <= 10; i++) {
if (i % 2 === 0) {
continue; // 跳过偶数
}
console.log(i);
}
// 输出:1 3 5 7 9嵌套循环
循环可以嵌套使用,即在一个循环内部再使用另一个循环。
示例
javascript
// 打印九九乘法表
for (let i = 1; i <= 9; i++) {
for (let j = 1; j <= i; j++) {
console.log(j + " × " + i + " = " + (i * j));
}
console.log("---");
}forEach 方法
数组的 forEach 方法提供了一种更简洁的方式来遍历数组。
示例
javascript
let numbers = [1, 2, 3, 4, 5];
numbers.forEach(function(number) {
console.log(number);
});
// 使用箭头函数
numbers.forEach(number => console.log(number));循环性能比较
不同类型的循环在性能上略有差异:
for循环通常最快,因为它的结构最简单while循环稍慢于for循环forEach方法相对较慢,但代码更简洁易读for...in循环最慢,因为它需要遍历对象的所有可枚举属性
最佳实践
选择合适的循环类型:
- 遍历数组时使用
for循环或for...of循环 - 遍历对象属性时使用
for...in循环 - 当不确定循环次数时使用
while循环
- 遍历数组时使用
避免无限循环:确保循环条件最终会变为假,否则会导致程序挂起。
使用有意义的变量名:在循环中使用描述性的变量名,提高代码可读性。
减少循环内的复杂操作:避免在循环内进行不必要的计算或 DOM 操作。
合理使用 break 和 continue:虽然这些语句很有用,但过度使用会使代码难以理解。
考虑使用数组方法:对于简单的数组操作,可以考虑使用
map、filter、reduce等数组方法,它们通常比传统循环更清晰。