循环语句用于重复执行代码块。
for 循环
常用于需要精确控制循环次数的情况。
for (let i = 0; i < 5; i++) {console.log("Iteration:", i);
}
while 循环
当条件为真时重复执行代码块,适用于循环次数不确定但条件明确的情况。
let i = 0;while (i < 5) {console.log("Iteration:", i);i++;
}
do…while 循环
至少执行一次代码块,然后在条件为真时继续执行。适用于至少需要执行一次的情况。
let i = 0;do {console.log("Iteration:", i);i++;
} while (i < 5);
for…in 循环
用于遍历对象的属性。
let obj = {a: 1, b: 2, c: 3};for (let key in obj) {console.log(key, obj[key]);
}
在 for…in 循环中,你可以使用任何有效的变量名称来代替 key,循环的行为和效果不会改变。这个变量每次迭代时都会被赋值为对象的一个属性名,你可以通过 obj[变量名] 访问对应的属性值。
for…of 循环
用于遍历可迭代对象(如数组、字符串、集合等)。
let arr = [10, 20, 30];for (let value of arr) {console.log(value);
}
跳转语句
跳转语句用于控制代码的跳转。
break 语句
跳出循环或 switch 语句。
for (let i = 0; i < 10; i++) {if (i === 5) {break;}console.log(i);
}
break 语句会跳出包含它的最近的循环结构
continue 语句
跳过当前循环的剩余部分,继续下一次循环。
for (let i = 0; i < 10; i++) {if (i === 5) {continue;}console.log(i);
}
示例:结合使用控制结构
下面是一个示例,结合使用 if 语句和循环语句。
let scores = [85, 92, 78, 90, 67];
let sum = 0;
let count = scores.length;for (let i = 0; i < count; i++) {if (scores[i] >= 90) {console.log("Excellent score:", scores[i]);} else if (scores[i] >= 80) {console.log("Good score:", scores[i]);} else {console.log("Score:", scores[i]);}sum += scores[i];
}let average = sum / count;
console.log("Average score:", average);