全部学科
Python全栈
python
NodeJS全栈
nodejs
小程序首页
📅 2026-05-16 5 分钟 ✍️ juanwangdev

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 只能用于循环

📝 发现内容有误?点击此处直接编辑

← 上一篇 闭包
下一篇 → JavaScript do-while 循环
想查看更多题目和详细解析?
小程序提供完整的题库、模拟考试和详细解析
马上就来

长按或扫描二维码,立即体验

扫码体验小程序
马上就来
使用微信扫描二维码
立即体验完整题库