var i = 0;
    my_label : {
        i++;
        break my_label;
        i = 0;
    }

    my_label1 : {
        i++;
        while(true) {
            break my_label1;
        }
        i = 0;
    }

    my_label2 : {
        i++;
        switch (true) {
            case false :
                break;     //作用于switch
            case true :
                break my_label2;     //直接跳到label2的结束处
        }
        i = 0;
    }

    alert(i);

 

    break [label] 与此类似的还有 continue [label] 
    break [label] 不能跨函数的语法作用域.

 

mylabel_3 : {
     function foo(tag) {
          while(tag) break my_label3;  // 这里标签找不到
     }
}

 

原因:
mylable_3 : { //.. }
function foo(tag) {
     while(tag) break my_label3;
}
这个同等于上面的对象,因为它们处在不同的语法作用域中,事实上它们是并行的语法作用域。

相关文章:

  • 2021-09-20
  • 2021-09-17
  • 2021-09-01
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-06-03
猜你喜欢
  • 2021-07-27
  • 2022-03-10
  • 2022-12-23
相关资源
相似解决方案