JS 里最“邪门”的两种语句:标签语句和 with,你敢用吗?
2026/6/6 18:52:57 网站建设 项目流程

有一年,我在改一段“祖传代码”。那种代码你一眼看过去就知道:

  • 注释是 2013 年写的
  • 变量名叫 a1、a2、temp3
  • 缩进全靠感觉
  • 最关键的是——你不敢删一行

我正准备跑路的时候,突然看到这样一段代码:

我当场愣住。break 后面居然跟了个名字?

我心里一万个问号:

  • break 不是只能跳出一层循环吗?
  • outer 是变量?函数?咒语?
  • 这玩意 JS 真的支持?

于是,我第一次认真研究了一个平时写业务根本不会用,但 JS 规范里真实存在的东西标签语句(Labelled Statement)。

而更刺激的,还在后面。

标签语句:给代码贴个“逃生出口”的牌子

1、标签语句到底是啥?

在 JavaScript 里,你可以给一条语句贴一个“标签”,语法长这样:

labelName: statement

比如:

这里的 loop1,就是一个标签

注意:

  • 标签不是变量
  • 标签不参与作用域
  • 它只是一个“定位点”

你可以把它理解成代码世界里的“紧急出口标识”。

2、标签语句到底能干嘛?

99% 的场景,只干一件事:配

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询