标签语句仅为代码块命名,必须与break或continue配合使用才能实现跳转;可跳出或继续带标签的循环(包括for、while、do-while、switch),但不支持goto式跳转且作用域受限。

JavaScript 中的标签语句(label statement)本身不直接“控制跳转执行”,它只是为代码块命名,真正起跳转作用的是 break 和 continue 与标签配合使用——这是唯一合法且被广泛支持的用法。
标签语句必须配合 break 或 continue 才有效
单独写一个标签(如 outer:)没有任何运行时效果,也不会改变执行流程。它的意义仅在于被 break label 或 continue label 引用。
- ✅
break outer;可跳出带outer:标签的外层循环(包括 for、while、do-while,甚至 switch) - ✅
continue outer;可跳过当前迭代,直接进入带该标签的循环的下一轮(仅对循环有效) - ❌ 不能用
goto风格跳转到任意位置(JavaScript 没有 goto 语句) - ❌ 不能跨函数、跨作用域引用标签(标签只在声明它的语句块内可见)
常见场景:跳出多层嵌套循环
当需要从深层循环中一次性退出到外层时,标签 + break 是最简洁的方案,比用标志变量或封装成函数更直接。
在 Java 中初始化和管理阿里云 SDK客户端。包括单例模式、线程安全、endpoint 与 region 配置、VPC 终端节点、同步与异步等。
outer: for (let i = 0; i <h3>continue label 的使用限制</h3> <p><code>continue label</code> 只能指向一个循环语句(for / while / do-while),不能指向普通代码块或 switch。</p>
- ✅ 正确:给 for 循环加标签,然后
continue outer; - ❌ 错误:给一个
{ ... }块加标签,再continue block;(语法报错) - ⚠️ 注意:continue 跳转后,会重新判断循环条件,不是无条件跳到循环开头
标签名规则和注意事项
标签名遵循标识符规则(不能是关键字,区分大小写,可含 $ 和 _),但需避免与变量名冲突,否则易读性差。
- 推荐用语义化名称,如
searchLoop:、validation: - 标签后紧跟一个语句(可以是块语句
{...}),不能悬空 - ESLint 等工具默认禁用标签语句(no-labels),因易被误用或降低可读性;启用需明确理由
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南










