JavaScript 中 label 的理解与应用

Posted 五更

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaScript 中 label 的理解与应用相关的知识,希望对你有一定的参考价值。

label 语句在之前写的代码中很少用到。最近重新看了基础,发现之前没有真的清楚其作用,开始只知道 label 是代码“跳转”到这个标签,什么时候应用才比较好呢?带着疑问,重新梳理了一下。
在执行单层循环的时候,label 其实作用不明显,比如

loopTop:
for(let i = 0; i < 3; i++){
      if(i === 2){
            break loopTop;
      }
      console.log(i);
}
// 输出结果
// 0
// 1

for(let i = 0; i < 3; i++){
      if(i === 2){
            break;
      }
      console.log(i);
}
// 输出结果
// 0
// 1

效果是一样的,故 label 在此时是多余的。
不过,当我们遇到多层循环,想直接跳到最外层循环时,label 的作用就体现出来了,如下面的例子

loopTop:
for(let i = 0; i < 3; i++){
    for(let j = 0; j < 3; j++){
        if(i === 2 && j === 1) break loopTop;
    }
    console.log(i);
}
// 输出结果
// 0
// 1

如果没用 label 跳转

for(let i = 0; i < 3; i++){
    for(let j = 0; j < 3; j++){
        if(i === 2 && j === 1) break;
    }
    console.log(i);
}
// 输出结果
// 0
// 1
// 2

则 break 只是跳过了最里层的 for 循环,外层 for 循环依旧执行。
所以如果遇到多层循环时,想跳出到指定位置时, label 是非常有用的。




以上是关于JavaScript 中 label 的理解与应用的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript中label与break配合使用

JavaScript中的label语句,及应用

js 回调函数理解与应用

JavaScript label语句

深入理解JavaScript中的属性和特性

深入理解JavaScript中的属性和特性