循环跑到一半想"刹车"?break 是整体弃赛,continue 是跳过这圈接着跑。用 1~20 亲眼看差别。
循环跑到一半想提前叫停,用 break。它一出现,整个循环立刻结束,后面的圈都不跑了。
// 跑 1~20,一到 10 就 break
for (let i = 1; i <= 20; i++) {
if (i === 10) break; // 碰到 10,整个循环到此结束
console.log(i); // 只打印 1~9,10 及以后全没了
}
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。