← 返回目录

14. break 与 continue

循环跑到一半想"刹车"?break 是整体弃赛,continue 是跳过这圈接着跑。用 1~20 亲眼看差别。

14.1 互动演示

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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