← 返回目录

14. breakcontinue

break 和 continue 是循环里的两个"急刹车"——break 整个跳出循环,continue 跳过本次继续下一轮。

核心区别:
break——立即跳出整个循环,不再继续
continue——跳过当前这一轮,继续下一次循环

坑:break 只能跳出一层循环、continue 只影响当前这轮、嵌套循环用 label 才能跳出外层

14.1 互动演示

点三个按钮,对比 break 和 continue 的输出差别。

14.2 知识点逐条讲解(配合代码)

break:直接"弃赛",整个循环结束

循环跑到一半想提前叫停,用 break。它一出现,整个循环立刻结束,后面的圈都不跑了

// 跑 1~20,一到 10 就 break
for (let i = 1; i <= 20; i++) {
  // 碰到 10,整个循环到此结束
  if (i === 10) break;
  // 只打印 1~9,10 及以后全没了
  console.log(i);
}

continue:这圈跳过,下一圈照跑

continue 没那么狠:只是跳过"这一圈"剩下的代码,直接进入下一圈,循环本身还在继续。

// 跑 1~20,碰到 10 就 continue
for (let i = 1; i <= 20; i++) {
  // 跳过这圈,直接进下一圈
  if (i === 10) continue;
  // 打印 1~9、11~20,唯独没有 10
  console.log(i);
}

③ 跑步类比(超好记)+ 死循环

关键字跑步类比结果
break直接停下来不跑了整个循环结束
continue这圈歇一下,接着跑下一圈只跳过本次,循环继续

如果你写循环时忘了写 i++(变量更新),条件就永远成立,循环停不下来,浏览器直接卡死——这叫死循环。写循环前先确认三件事都在。作业让你"删掉 i++ 观察死循环",就是为了体会这个痛。

实战:用在哪 / 常见坑 / 怎么解决

① 可能在什么地方用:找到目标就停止遍历;跳过无效数据继续下一条。

② 常见的问题:该用 continue 却写成 break,整个循环提前结束了;或者放错位置。

③ 解决思路:先想清楚:只想'跳过这一次'用 continue,想'彻底不干了'才用 break

一句话记住:break=跑步直接弃赛(整个循环结束);continue=这圈跳过接着跑(只跳过本次);忘写 i++ 就是死循环

本页重点

API作用参数返回值代码示例
arr.push把数塞进数组末尾要放的值数组新长度let arr = [];
arr.push(1);
console.log(arr);
break整个循环立刻结束for (let i = 1; i <= 5; i++) {
if (i === 3) break;
console.log(i);
}
continue只跳过这圈,下一圈照跑for (let i = 1; i <= 5; i++) {
if (i === 3) continue;
console.log(i);
}