label标签跳出循环

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了label标签跳出循环相关的知识,希望对你有一定的参考价值。

出场:

首先我们来说说为什么需要label标签,虽然我们已经知道有break,continue跳出循环,但如果是多重循环那么它们就显的无能为力了,所以就出现了label这个标签来为我们服务。

我们先来看看单独使用break的情况

1 for(var i=0;i<4;i++){
2     for(var j=0;j<4;j++){
3         if(i===1&&j===1){
4             break;
5         }else{
6             console.log("i:"+i+"--j:"+j);
7         }
8     }
9 }

运行结果:

 1 i:0--j:0
 2 i:0--j:1
 3 i:0--j:2
 4 i:0--j:3
 5 i:1--j:0
当i和j===1的时候,它只跳出了j循环,因此它又会回到i循环体 6 i:2--j:0 7 i:2--j:1 8 i:2--j:2 9 i:2--j:3 10 i:3--j:0 11 i:3--j:1 12 i:3--j:2 13 i:3--j:3

从上面的运行结果中我们可以发现如果单纯的使用break远远不能够完成一些复杂的操作。

 

label标签可以是任意的名称,但不能是保留字,他们几乎是和break;continue;配合使用。

1 bk:for(var i=0;i<4;i++){
2     for(var j=0;j<4;j++){
3         if(i===1&&j===1){
4             break bk;
5         }else{
6             console.log("i:"+i+"--j:"+j);
7         }
8     }
9 }

运行结果:

1 i:0--j:0
2 i:0--j:1
3 i:0--j:2
4 i:0--j:3
5 i:1--j:0

成功跳出循环。

提试:bk只是一个名称,你随意,当然不能是js中的关键字

continue用法一样,不举例。

 

以上是关于label标签跳出循环的主要内容,如果未能解决你的问题,请参考以下文章

java标签是啥?continue语句跳转到标签外层怎么回事?break语句跳出标签指定代码块是指啥

Go中使用“继续标签”与使用“中断”跳出内循环的区别

JS基础_break跳出外层循环

2018.5.2(7:20到的办公室开始早课 阮一峰的JS) 所有的默默努力都是为了让自己看起来毫不费力

break label;语句的使用

golang break label 与goto label