AS3支持 label 了,跳出多层循环可以这样写:

outerLoop: for (var i:int = 0; i < 10; i++) {
    
for (var j:int = 0; j < 10; j++) {
        
if ( (i == 8) && (j == 0)) break outerLoop;
        
trace(10 * i + j);
    
}
}

  AS2 的时候只能多加个变量判断:

var needBreak:Boolean = false;
for (var i:Number = 0; i < 10; i++) {
    
for (var j:Number = 0; j < 10; j++) {
        
if ( (i == 8) && (j == 0)) {
            
needBreak = true;
            
break;
        
}
        
trace(10 * i + j);
    
}
    
if(needBreak) break;
}

相关日志

已经有3条评论

  1. mmin Said @ 2006-07-31 22:39

    这个功能我喜欢
    action script 3做的真的不错

  2. frogcjn Said @ 2006-08-03 09:20

     AS2 版的”label”有误,”if(needBreak) break;”不应该加在for j 里.不然的话 for i 还是会执行到9,而不是像AS3真正的label在 for i 执行到8 时就被break了.

  3. eidiot Said @ 2006-08-03 09:49

    不好意思
    是我疏忽了
    已经更正
    谢谢 frogcjn

看完了要说点啥么?