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
的标签,在if
中break
出去
看 @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