其实 带标签的语句的最大的好处 就是用来退出双层 for 循环的,而不使用标签的时候只能退出内层的循环
这里就要注意利用 break和continue来退出的区别了
break 带标签语句;
这样是直接退出了for循环,不但退出了内部循环,也退出了外部循环
例如:
var num=0;
out:
for(var i=1;i<5;i++)
{
for(var j=1;j<5;j++)
{
if(i==3&&j==3)
break out;
}
num++;
}
alert(num); //output 2
也就是说,在i和j都等于2时,我们利用带标签语句 直接退出了 内外双层for循环,从而得到num为2的结果
若是这样
var num=0;
out:
for(var i=1;i<5;i++)
{
for(var j=1;j<5;j++)
{
if(i==2&&j==2)
continue out;
}
num++;
}
alert(num); //output 13
这是因为 在i和j都等于2时,我们同样退出了双层的for循环,只不过在退出了最外层之后,我们跟着有进行了下一轮的循环,也就是i=3的循环
使用break out 可以同时退出双层循环,直接执行循环结构后面的语句;而break只能跳出内层循环
使用continue out 可以同时退出双层循环,但它不会直接跳出,他会跳到外层循环的下一次循环;
而continue只能跳到内层循环的下一次循环中
浙公网安备 33010602011771号