首页 > 这是什么写法?

这是什么写法?


var obj = {
  test:function(){
    var a=1;
    demo:if (a) {    //这个地方不懂
      var x = 33;
      break demo;
    }
    console.log(x); //33
  }
}
obj.test();

让写这个代码的人 说出这样写的理由
没有充分的理由 让他 改代码,并跟他说 去看 javascript: good part.


这是定义label和跳转的写法,为了跳出if定义了一个demo的标签,在ifbreak出去


看 @hsfzxjy 给的参考网址,注意理解下面这句

break 语句包含一个可选的标记(label),可允许程序摆脱一个被标记的语句(labeled statement)。break 语句需要内嵌在引用的 label 中。被标记的语句(labeled statement)可以是任何 块语句;不一定是循环语句。

你这个例子看不出来这里的 break [label] 有啥用,我改了一点,就看得出来了

var obj = {
    test: function() {
        var a = 1;
        demo: if (a) {
                var x = 33;
                break demo;
                x = 44;  // 这句没执行
            }
        console.log(x); //33
    }
}
obj.test();

demo 标记了一个语句块,break demo 跳出那个语句块

参考: https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Statements/break

【热门文章】
【热门文章】