for(i=1;i<=total;i++)
{
  for(j=1;j<=total;j++)
  {
    if()
    {
     code;
    }else
    {
     break;//退出两个FOR循环怎么办?
    }
  }
}

解决方案 »

  1.   

    for(i=1;i <=total;i++) 

      b = false;
      for(j=1;j <=total;j++) 
      { 
        if() 
        { 
         code; 
        }else 
        { 
         b = true;
         break;
        } 
      }
      if(b) break;
    }
      

  2.   

    如果在函数体内,使用return语句就可以
      

  3.   


    <script type="text/javascript">
    var $break = {};
    try {
    for(i=1;i <=total;i++) 

      for(j=1;j <=total;j++) 
      { 
    if() 

     code; 
    }else 

     throw $break;

      } 
    }
    } catch (exp) {
    if ($break !== exp) throw exp;
    }
    </script>
      

  4.   

    顶1楼的.
    要是return 的话,会直接退出函数了,后面如果还有代码就不行了。
      

  5.   

    b = true; 
    for(i=1;i<=total&&b;i++)  
    {  
      for(j=1;j<=total&&b;j++)  
      {  
        if()  
        {  
         code;  
        }else  
        {  
         b = false; 
        }  
      } 
    }
      

  6.   

    for(i=1;i <=total;i++) 

      for(j=1;j <=total;j++) 
      { 
        if() 
        { 
         code; 
        }else 
        { 
        i = total+1; //break 前令 i 过大
         break; 
        } 
      } 
    }
      

  7.   

    顶1楼的,不过最好的办法是使用标签语句:
    outerloop:
      for(var i=0;i<10;i++)
      {
        innerloop:
        for(var j=0;j<10;j++)
        {
          if(j>3) break;
          if(i==2) break innerloop;
          if(i==4) break outerloop;
        }
      }以上代码 源自 javascript 权威指南 第4版    page code:111