本位为JavaScript强化教程,系列介绍js开发
本节来探讨一下如何在不通过return的情况下跳出多重循环,或者跳出指定循环。
首选我们先来2成for循环嵌套来试一下
for (var i = 0; i <4; i++) {
console.log(i);
for (var j = 0; j < 3; j++) {
console.log("hah"+j);
};
};
运行效果如下
0
test.html:10 hah0
test.html:10 hah1
test.html:10 hah2
test.html:8 1
test.html:10 hah0
test.html:10 hah1
test.html:10 hah2
test.html:8 2
test.html:10 hah0
test.html:10 hah1
test.html:10 hah2
test.html:8 3
test.html:10 hah0
test.html:10 hah1
test.html:10 hah2
正常的break跳出循环看一下效果
for (var i = 0; i <4; i++) {
console.log(i);
for (var j = 0; j < 3; j++) {
console.log("hah"+j);
if(j==1){
break;
}
};
};
效果如下
test.html:8 0
test.html:10 hah0
test.html:10 hah1
test.html:8 1
test.html:10 hah0
test.html:10 hah1
test.html:8 2
test.html:10 hah0
test.html:10 hah1
test.html:8 3
test.html:10 hah0
test.html:10 hah1
正常情况下 break只能跳出内部一层循环,
我们可以通过给函数事先定义一个 类似标记的东东,之后通过break 直接跳到该标记上,代码如下
<script type="text/javascript">
outloop://定义跳出标记
for (var i = 0; i <4; i++) {
console.log(i);
for (var j = 0; j < 3; j++) {
console.log("hah"+j);
if(j==1){
break outloop;//跳出到指定标记
}
};
};
运行效果如下:
0
test.html:11 hah0
test.html:11 hah1
从结果看出 我们直接跳出了外部循环,
所以我们可以通过这种方式,跳出指定的循环