JS 里最“邪门”的两种语句:标签语句和 with,你敢用吗?

📅 发布时间:2026/7/12 15:52:48 👁️ 浏览次数:
JS 里最“邪门”的两种语句:标签语句和 with,你敢用吗?
有一年,我在改一段“祖传代码”。那种代码你一眼看过去就知道:注释是 2013 年写的变量名叫 a1、a2、temp3缩进全靠感觉最关键的是——你不敢删一行我正准备跑路的时候,突然看到这样一段代码:我当场愣住。break 后面居然跟了个名字?我心里一万个问号:break 不是只能跳出一层循环吗?outer 是变量?函数?咒语?这玩意 JS 真的支持?于是,我第一次认真研究了一个平时写业务根本不会用,但 JS 规范里真实存在的东西:标签语句(Labelled Statement)。而更刺激的,还在后面。标签语句:给代码贴个“逃生出口”的牌子1、标签语句到底是啥?在 JavaScript 里,你可以给一条语句贴一个“标签”,语法长这样:labelName: statement比如:这里的 loop1,就是一个标签。注意:标签不是变量标签不参与作用域它只是一个“定位点”你可以把它理解成代码世界里的“紧急出口标识”。2、标签语句到底能干嘛?99% 的场景,只干一件事:配