continue语句用于跳过当前循环迭代的剩余代码,直接进入下一次循环条件判断;在for循环中可跳过特定值而不终止整个循环。

continue 语句用于立即结束当前循环的本次迭代,跳过本轮剩余代码,直接进入下一次循环判断(即执行循环条件检查,再决定是否继续)。
在 for 循环中跳过特定值
当满足某个条件时,用 continue 跳过本次循环体执行,不中断整个循环:
for (let i = 1; i <= 5; i++) {
if (i === 3) {
continue; // 遇到 3 就跳过,不执行后面的 console.log
}
console.log(i); // 输出:1, 2, 4, 5
}
注意:i 仍会正常自增,因为 continue 只跳过大括号内后续语句,不跳过 for 的更新表达式(如 i++)。
在 while 和 do...while 中需手动控制循环变量
while 类型循环没有内置更新步骤,使用 continue 前必须确保循环变量已更新,否则容易陷入死循环:
你接手一个需求时,是不是经常这样:"改一个小字段 → 结果把不相关的代码也改了"、"需求说得很模糊 → 做着做着发现跑偏了"、"数据库加个字段 → 上线才发现漏了数据兼容"、"做了个新功能 → 一个月后自己都忘了当时怎么设计的"、"写到一半被中断 → 再回来不知道从哪继续";这个 Skill 就是专门解决这些问题的。 它会自动探测你的项目环境(JDK、Spring Boot、ORM、数据库、前端框架),记在
立即学习“Java免费学习笔记(深入)”;
let j = 0;
while (j < 5) {
j++; // 必须先更新,再判断跳过逻辑
if (j === 2) {
continue; // 跳过 console.log,但 j 已经加过了
}
console.log(j); // 输出:1, 3, 4, 5
}
- 如果把
j++放在 continue 后面,j 就不会增加,导致无限循环 - do...while 同理,更新操作要放在 continue 前或循环体开头
嵌套循环中只影响最内层
continue 默认只作用于它所在的那一层循环,不影响外层:
for (let a = 1; a <= 2; a++) {
for (let b = 1; b <= 3; b++) {
if (b === 2) continue; // 只跳过内层本次迭代
console.log(`a=${a}, b=${b}`);
// 输出:a=1,b=1;a=1,b=3;a=2,b=1;a=2,b=3
}
}
如需跳出外层,可配合标签(label)使用:outer: for (...) { ... continue outer; },但日常较少用。
不能用在 switch 或普通代码块中
continue 只能出现在循环语句(for、while、do...while)内部。以下写法会报错:
switch (val) {
case 1:
continue; // ❌ SyntaxError:非法的 continue 位置
}
- 想在 switch 中跳过后续 case,用
break - 想提前退出函数,用
return - 想完全终止循环,用
break

















