JavaScript break 和 continue
break 和 continue 用于控制循环流程,break 跳出整个循环,continue 跳过当前迭代。
break 语句
break 用于立即终止整个循环,跳出循环体。
JavaScript
// 基本用法
for (let i = 0; i < 10; i++) {
if (i === 5) {
break; // i=5 时跳出循环
}
console.log(i); // 输出 0, 1, 2, 3, 4
}
// 查找元素
const arr = [1, 3, 5, 7, 9];
let found = -1;
for (let i = 0; i < arr.length; i++) {
if (arr[i] === 5) {
found = i;
break; // 找到后立即退出
}
}
console.log(found); // 2
continue 语句
continue 用于跳过当前迭代,直接进入下一次循环。
JavaScript
// 基本用法
for (let i = 0; i < 5; i++) {
if (i === 2) {
continue; // 跳过 i=2
}
console.log(i); // 输出 0, 1, 3, 4
}
// 打印奇数
for (let i = 1; i <= 10; i++) {
if (i % 2 === 0) {
continue; // 跳过偶数
}
console.log(i); // 输出 1, 3, 5, 7, 9
}
对比 break 和 continue
JavaScript
// break 示例
for (let i = 0; i < 5; i++) {
if (i === 3) break;
console.log(i);
}
// 输出:0, 1, 2(循环终止)
// continue 示例
for (let i = 0; i < 5; i++) {
if (i === 3) continue;
console.log(i);
}
// 输出:0, 1, 2, 4(跳过 3,继续后续循环)
| 语句 | 作用 | 执行效果 |
|---|---|---|
break | 跳出整个循环 | 循环终止 |
continue | 跳过本次迭代 | 继续下一次循环 |
标签语句(Label)
使用标签可以跳出多层嵌套循环。
JavaScript
// 标签 + break 跳出外层循环
outer: for (let i = 0; i < 3; i++) {
for (let j = 0; j < 3; j++) {
if (i === 1 && j === 1) {
break outer; // 跳出外层循环
}
console.log(`i=${i}, j=${j}`);
}
}
// 输出:i=0,j=0 i=0,j=1 i=0,j=2 i=1,j=0
// 标签 + continue 跳到外层循环下一次迭代
outer: for (let i = 0; i < 3; i++) {
for (let j = 0; j < 3; j++) {
if (j === 1) {
continue outer; // 跳到外层循环的下一次迭代
}
console.log(`i=${i}, j=${j}`);
}
}
// 输出:i=0,j=0 i=1,j=0 i=2,j=0
在不同循环中的使用
JavaScript
// while 循环中使用 break
let i = 0;
while (i < 10) {
if (i === 5) break;
console.log(i);
i++;
}
// for...of 中使用 continue
const fruits = ['apple', 'banana', 'orange', 'grape'];
for (const fruit of fruits) {
if (fruit === 'orange') continue;
console.log(fruit); // apple, banana, grape
}
// for...in 中使用
const obj = { a: 1, b: 2, c: 3 };
for (const key in obj) {
if (key === 'b') continue;
console.log(key, obj[key]); // a 1, c 3
}
注意事项
- break 和 continue 只能用于循环语句和 switch(break)
- break 在 switch 中用于跳出 switch 结构
- 使用标签时要确保标签名称唯一
JavaScript
// switch 中的 break
switch (value) {
case 1:
console.log('one');
break; // 必须有 break,否则继续执行下一个 case
case 2:
console.log('two');
break;
}
// break 不能单独用于 if
if (condition) {
// break; // 错误!不在循环中
}
要点总结
break:立即终止循环,跳出整个循环体continue:跳过当前迭代,继续下一次循环- 标签语句可控制嵌套循环,
break label跳出指定层循环 - break 可用于循环和 switch,continue 只能用于循环
📝 发现内容有误?点击此处直接编辑