我有一个循环结构并想退出所有父循环,AS3 是否支持标签,就像我们在 php 中一样?
for(var i:int=0;i<100;i++)
{
for(var j:int=0;j<100;j++)
{
if(j == 15){
i = 99;
break;
}
}
}
我有一个循环结构并想退出所有父循环,AS3 是否支持标签,就像我们在 php 中一样?
for(var i:int=0;i<100;i++)
{
for(var j:int=0;j<100;j++)
{
if(j == 15){
i = 99;
break;
}
}
}
是的,您可以label:
像这样在循环前面使用:
// Label this loop 'outer'.
outer: for(var i:int = 0; i < 100; i++)
{
inner: for(var j:int = 0; j < 100; j++)
{
if(j === 15)
{
// Break the outer loop.
break outer;
}
}
}
这也适用于continue
.
您也可以将 break_condition 合并到 for 循环中
var outer_break = false;
var inner_break = false;
for(var i = 0; i < 100 && !outer_break; i++) {
for(var j = 0; j < 100 && !inner_break;j++) {
if (some_condition) inner_break = true;
}
}
我建议不要在这里使用标签(很多 goto),我也强烈建议不要使用 for 循环。而是使用 foreach 来迭代您需要迭代的任何内容。