JavaScript 语言基础之标签语句

标签语句的语法

javascript 复制代码
label: statement

label 表示标签名,可以是任何合法的标识符,但不能是 JavaScript 中的保留字。statement 表示被标记的语句块,可以是任何合法的 JavaScript 语句。

用法

标签语句的主要用途是在代码中进行跳转,可以配合 break、continue、return 等语句使用。

break 语句配合标签语句使用

当在嵌套的循环语句中使用 break 语句时,只能跳出当前的循环,无法跳出外层循环。但是,如果在外层循环前加上一个标签,就可以在内层循环中使用 break 语句跳出外层循环。

javascript 复制代码
outer:
for (let i = 0; i < 10; i++) {
  for (let j = 0; j < 10; j++) {
    if (i * j === 25) {
      break outer;
    }
  }
}

continue 语句配合标签语句使用

类似地,当在嵌套的循环语句中使用 continue 语句时,只能跳过当前的循环,无法跳过外层循环。但是,如果在外层循环前加上一个标签,就可以在内层循环中使用 continue 语句跳过外层循环的某次迭代。

return 语句配合标签语句使用

在 JavaScript 中,return 语句只能用于函数中,用于返回函数的执行结果。但是,如果在函数前加上一个标签,就可以在函数内部使用 return 语句跳出函数,并返回一个指定的值。

javascript 复制代码
function foo() {
  bar:
  {
    console.log('before return');
    return 123;
    console.log('after return');
  }
}

console.log(foo()); // 输出 123

注意事项

  • 标签语句只能用于循环语句、switch 语句和函数语句中,不能用于其他语句中。
  • 标签语句不是语句块,不能定义变量或函数。
  • 在使用标签语句时,应该避免过度使用,以免降低代码的可读性和可维护性。
相关推荐
小玮看世界2 小时前
[Python]从合并区间到传感器融合区:合并区间在传感器区域融合的实际落地
开发语言·python
繁星蓝雨3 小时前
C++的设计与演进大纲(如何从C语言一步步成长为C++)
c语言·开发语言·c++·c++历史·c++演进
Evand J3 小时前
【MATLAB例程,图像降噪滤波9】自适应维纳滑动窗口滤波(Wiener)图像降噪、方法对比,有中文注释
开发语言·图像处理·计算机视觉·matlab·滑动窗口·滤波·降噪
杜大哥4 小时前
python程序:如何查看电脑【电池电量的剩余百分比】 和 【是否插入连接着充电器】?
开发语言·python
wuyk5554 小时前
Python网络爬虫入门到实战 第01章:爬虫到底是什么?原理、流程、合法性、风险全解析(零基础必看)
开发语言·爬虫·python
yurenpai(27届找实习中)4 小时前
Java 10 的 var 为什么不能随便用?从订单汇总看懂类型推断与泛型陷阱
java·开发语言·java18
shmily麻瓜小菜鸡4 小时前
JS/TS 易踩坑知识点 — 模块化与工程化类
开发语言·javascript·ecmascript
geovindu4 小时前
CSharp: Observer Pattern
开发语言·后端·观察者模式·设计模式·c#·.netcore·行为模式
郝学胜-神的一滴5 小时前
C++11 工程级应用 09:告别无谓拷贝,解锁高性能移动语义
开发语言·数据结构·c++·vscode·软件工程·visual studio
MC皮蛋侠客6 小时前
OPC UA 系列(一):标准全景与 Python 最小闭环——让第一条设备数据流动起来
开发语言·python·opcua