讲continue的地方
var i, j;loop1:
for (i = 0; i < 3; i++) {      //The first for statement is labeled "loop1"
   loop2:
   for (j = 0; j < 3; j++) {   //The second for statement is labeled "loop2"
      if (i == 1 && j == 1) {
         continue loop1;
      } else {
         console.log("i = " + i + ", j = " + j);
      }
   }
}// Output is:
//   "i = 0, j = 0"
//   "i = 0, j = 1"
//   "i = 0, j = 2"
//   "i = 1, j = 0"
//   "i = 2, j = 0"
//   "i = 2, j = 1"
//   "i = 2, j = 2"
// Notice how it skips both "i = 1, j = 1" and "i = 1, j = 2"
请问为什么"i = 1, j = 1" and "i = 1, j = 2"都被掠过了,不明白第二个为什么会被跳掉mozillajavascript实例

解决方案 »

  1.   

    这什么写法来的
    loop1:javascript真它爷爷的,这么奇怪写法。
      

  2.   

    这叫 labeled statement   , 里面可以用break 和 continue
      

  3.   

    continue loop1; 
    这个意思就是 从这里开始马上继续执行loop1。也就是说跳出loop2 这里类同 break;跳出当前循环继续执行 。当然这个 continue loop1; 更加灵活
      

  4.   

    这个就是你想要的。 
    这种写法同用吗?loop1:
    for (i = 0; i < 3; i++) {      //The first for statement is labeled "loop1"
       loop2:
       for (j = 0; j < 3; j++) {   //The second for statement is labeled "loop2"
          if (i == 1 && j == 1) {
             continue loop2;
          } else {
             console.log("i = " + i + ", j = " + j);
          }
       }
    }
      

  5.   

    loop1:
    for (i = 0; i < 3; i++)continue loop1;//继续 loop1的循环
      

  6.   

    话说这不是遗传C语言而来的么?
    和那个万人唾弃的goto一样。要理解,理解一下#5的说法吧。如果continue不加标签,只能continue一层for循环,加label,就是continue第二层循环。break也一样可以这样用。要是实际中有谁还在用语句标签,你就抽丫的!凡是用label跳来跳去的控制流程的做法,都是作死的节奏!
    当作一种存在吧,或许JS版本再更新,这种标签跳转来控制流程的做法就不能用了。
      

  7.   

    单continue跳过j循环加了loop1就变成跳过i循环的确是加深了continue的理解作死的节奏!作死的节奏!作死的节奏!作死的节奏!