js 标签语法使用详情

前言:

在日常开发中我们经常使用到递归、breakcontinuereturn等语句改变程序运行的位置,其实,在 JavaScript 中还提供了标签语句,用于标记指定的代码块,便于跳转到指定的位置。本文来记录一下标签语句的使用方法。

1.标签语句介绍

标签语句用于给语句加标签,标签可以与变量重名,它是一个独立的语法元素(既不是变量,也不是类型),其作用是标识”标签化语句(labeled statement)”相当于定位符,用于跳转到程序的任意位置,语法如下:

label: statement

例如:

    hello:console.log("hello")


标签语句可以改变程序的执行流程,类似于break,continuereturn。其中breakcontinue可以和标签一起使用。

2.标签语句使用

(1)标签语句和 break 配合使用,跳出特定的循环

    let num = 0;
    mylabel:
    for (let i = 0; i < 10; i++) {
      for (let j = 0; j < 10; j++) {
        if (i == 5 && j == 5) {
          break mylabel;
        }
        num++;
      }
    }
    console.log(num); // 55


在这个例子中, outermost 标签标识的是第一个 for 语句。正常情况下,每个循环执行 10 次,意味着 num++ 语句会执行 100 次,而循环结束时 console.log 的结果应该是 100。但是, break 语句带来了一个变数,即要退出到的标签。添加标签不仅让 break 退出(使用变量 j 的)内部循环,也会退出(使用变量 i 的)外部循环。当执行到 i 和 j 都等于 5时,循环停止执行,此时 num 的值是 55。

(2)标签语句和 continue 配合使用

    let num = 0;
    mylabel:
    for (let i = 0; i < 10; i++) {
      for (let j = 0; j < 10; j++) {
        if (i == 5 && j == 5) {
          continue mylabel;
        }
        num++;
      }
    }
    console.log(num); // 95


continue 语句会强制循环继续执行,但不是继续执行内部循环,而是继续执行外部循环。当 i 和 j 都等于 5 时,会执行 continue ,跳到外部循环继续执行,从而导致内部循环少执行 5 次,结果 num 等于 95。

总结:

组合使用标签语句和 break continue 能实现复杂的逻辑,但也容易出错。注意标签要使用描述性强的文本,而嵌套也不要太深。

到此这篇关于js 标签语法使用详情的文章就介绍到这了,更多相关js 标签语法使用内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

你可能感兴趣的:(js 标签语法使用详情)