编程里遇到需要从两重for 循环中退出的情况,经测试,单独的一个break 只能从它最近的那一个for 循环中跳出,但不能直接跳出更外层的循环,为了能够跳出第二层或是更多层的for 循环,需要增加一个变量,当这个变量值被改变时,让全部的for 循环都不执行,代码如下:
修改之前的代码:
//var flag = false;
for (var i = 0; i < 2; i++) {
// if (flag == true) {
//break;
//}
for (var j = 0; j < 3; j++) {
if (j == 0) {
//flag = true;
break;
}
trace("output j: " + j);
}
trace("output i: " + i);
}
输出为:
output i: 0
output i: 1
外层循环还是正常执行了两次。
修改之后的代码:
var flag = false;
for (var i = 0; i < 2; i++) {
if (flag == true) {
break;
}
for (var j = 0; j < 3; j++) {
if (j == 0) {
flag = true;
break;
}
trace("output j: " + j);
}
trace("output i: " + i);
}
输出为:
output i: 0
外层循环只执行了一次,就不再执行了,达到了预想的效果。
回复Comments
作者:
{commentrecontent}