欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

JavaScript break跳出多重循环

程序员文章站 2022-05-28 17:00:40
...

先来看一个小例子:

<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