其实 带标签的语句的最大的好处 就是用来退出双层 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只能跳到内层循环的下一次循环中