zoukankan      html  css  js  c++  java
  • 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 是非常有用的。

  • 相关阅读:
    php部分---include()与require()的区别、empty()与isset is_null的区别与用法详解
    DataSet 的详细用法(转)
    DataSet 的用法(转)
    大神的博客地址
    c#报表 柱,饼状图
    WebApi 增删改查(2)
    Linq to SQL 的左连,右连,内连(转)
    WebApi 增删改查
    Linq to SQL 的连表查询(转)
    LINQ
  • 原文地址:https://www.cnblogs.com/teemwu/p/13304859.html
Copyright © 2011-2022 走看看