javascript: break跳出多重循环以及退出each循环

先来看一个小例子:

<html>
<body>
<script type="text/javascript">

for(j=0;j<2;j++) {


for(i=0;i<=10;i++){



if(i==3){




break;



}



document.write("这个数字是"+j+""+ i)



document.write("<br/>")


}

}
</script>
</body>
</html>

运行结果:

这个数字是0 0
这个数字是0 1
这个数字是0 2
这个数字是1 0
这个数字是1 1
这个数字是1 2

上面例子说明,break语句退出的是最内层的循环。如果我想跳出整个循环该怎么办呢?答案是:break 标签

实例一:

<html>
<body>
<script type="text/javascript">

Tag_1:

for(j=0;j<2;j++) {


for(i=0;i<=10;i++){



if(i==3){




break Tag_1;



}



document.write("这个数字是"+j+""+ i);



document.write("<br/>");


}

}

document.write("End");
</script>
</body>
</html>

运行结果:

这个数字是0 0
这个数字是0 1
这个数字是0 2
End

实例二:来自《JavaScript权威指南》

<script type="text/javascript">
outerloop://命名外圈语句
for(i=0; i<10; i++)
{
innerloop://命名内圈语句
 for(j=0; j<10; j++)
{
 // 跳出内圈循环
if(j>3){break;}
 // 跳出内圈循环
 if(i==2){break innerloop;}
 // 跳出外圈循环
 if(i==4){break outerloop;}
 document.write("i ="+i+", j ="+j+"<br />");
}
}
document.write("final"+"i ="+i+", j ="+j);
</script>

运行结果:

i = 0 , j = 0
i = 0 , j = 1
i = 0 , j = 2
i = 0 , j = 3
i = 1 , j = 0
i = 1 , j = 1
i = 1 , j = 2
i = 1 , j = 3
i = 3 , j = 0
i = 3 , j = 1
i = 3 , j = 2
i = 3 , j = 3
final i = 4 , j = 0
原文地址:https://www.cnblogs.com/zgqys1980/p/4371072.html