Javascrtip GOTO 语句(模拟)

    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;
}
这个同等于上面的对象,因为它们处在不同的语法作用域中,事实上它们是并行的语法作用域。

转载于:https://www.cnblogs.com/oneroundseven/archive/2012/03/20/2407368.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值