javascript中continue配合标签可跳过外层循环当前迭代:在外层循环前加标签(如outer:),内层用continue outer;跳回外层循环开头;标签须紧邻循环语句、作用域内有效且不能跨函数。

JavaScript 中 continue 本身只能跳过当前循环的本次迭代,不能直接跳出外层循环;但配合,可以让 continue 跳转到指定标签位置,从而实现“跳过外层循环的当前迭代”——注意:不是跳出外层循环,而是让外层循环进入下一次迭代。
标签 + continue 的基本写法
给外层循环加上一个标识符(即标签),然后在内层循环中用 continue 标签名;,JS 就会跳回到该标签所在的循环开头,开始下一轮迭代。
- 标签名后跟冒号(
:),必须紧挨着循环语句(如for、while)之前 -
continue后跟的标签名必须已声明,且必须指向一个带标签的循环语句 - 不能跨函数或作用域使用标签,标签只在它所在语句块内有效
实际例子:跳过外层 for 的某次完整迭代
比如想遍历二维数组,当内层遇到某个条件时,不处理当前外层数组项,直接进入下一个外层循环:
在 Java 中初始化和管理阿里云 SDK客户端。包括单例模式、线程安全、endpoint 与 region 配置、VPC 终端节点、同步与异步等。
outer: for (let i = 0; i
运行时,一旦内层碰到 'skip',就跳回 outer: 所在的 for 开头,i 自增,进入下一个外层元素 —— 这就是“跳出内层、继续外层下一轮”的效果。
和 break label 的区别
break 标签名 是完全退出指定标签的循环;continue 标签名 是跳到该标签循环的**更新语句后、条件判断前**(对 for 来说,就是执行 i++,再判断 i )。
-
break outer;→ 外层循环彻底终止,不再执行后续任何迭代 -
continue outer;→ 当前外层迭代中止,但立即开始下一次迭代
注意事项与常见误区
标签不是 goto,不能随意跳转;它只被 break 和 continue 识别,且只能用于循环语句(for、while、do...while),不能加在 if 或普通代码块上。
- 下面写法是错误的:
myLabel: if (x) { ... } continue myLabel;→ 报错,因为if不是循环 - 标签名区分大小写,拼错会导致 ReferenceError
- 嵌套太深时,过度依赖标签会让逻辑难读,建议优先考虑重构(如提取成函数 + return)
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南










