关于 JavaScript 标签与 break 和 continue 一起使用的理解。
break 的作用是跳出代码块, 所以 break 可以使用与循环和 switch 等
continue 的作用是进入下一个迭代, 所以 continue 只能用于循环的代码块。
代码块: 基本上是{}大括号之间
然后:
1. 默认标签的情况(除了默认标签情况,其他时候必须要有名标签,否则会有惊喜)
当 break 和 continue 同时用于循环时,没有加标签,此时默认标签为当前"循环"的代码块。
当 break 用于 switch 时,默认标签为当前的 switch 代码块:
有名标签的情况
cars=["BMW","Volvo","Saab","Ford"];list:{document.write(cars[0]+"");document.write(cars[1]+"");document.write(cars[2]+"");breaklist;document.write(cars[3]+"");document.write(cars[4]+"");document.write(cars[5]+"");}
上述break list;会跳出list的代码块。如果将break换成continue会有惊喜,违反了明确中的第二点,因为list只是个普通代码块,而不是循环。除非list写成如下形式
list:
for(vari=0;i<10;++i){continuelist;}
有了标签,可以使用break和continue在多层循环的时候控制外层循环。
例如下面:
outerloop:for(vari=0;i<10;i++){innerloop:for(varj=0;j<10;j++){if(j>3){break;}if(i==2){breakinnerloop;}if(i==4){breakouterloop;}document.write("i="+i+" j="+j+"");}}
网友评论