JavaScript 词条目录
前端Wiki/JavaScript/基础/流程控制

break 与 continue

break 立即结束整个循环,跳到循环后面的代码;continue 只跳过本轮,直接进入下一次循环判断。两者常和 if 搭配:break 用于「找到就停」(如搜索命中),continue 用于「这种不要」(如过滤偶数)。

嵌套循环里,break 只能跳出最内层。如果要一次跳出多层,可以给外层循环起个名字(标签),写 break 外层名。标签语法平时不常用,但在多层搜索匹配的算法题里很好用。

本节要点break 跳出整个循环,continue 跳过本次;嵌套循环中 break 只跳出最内层,需要跳出多层时用标签。
JavaScript
// break:找到目标立即停止
for (let i = 1; i <= 10; i++) {
  if (i === 4) {
    console.log('找到目标,停止搜索');
    break;
  }
  console.log('检查第 ' + i + ' 个');
}

// continue:跳过偶数,只处理奇数
for (let i = 1; i <= 6; i++) {
  if (i % 2 === 0) continue;
  console.log('奇数:' + i);
}

// 标签 + break:一次跳出两层循环
outer: for (let i = 0; i < 3; i++) {
  for (let j = 0; j < 3; j++) {
    if (i * j === 2) {
      console.log('在 i=' + i + ' j=' + j + ' 结束所有循环');
      break outer;
    }
  }
}