关于一个js双重循环的顺序

2019-06-27  本文已影响0人  阿猪_341c

我们先写一个双重循环语句

top:
  for (var i = 0; i < 3; i++){  //for1
    for (var j = 0; j < 3; j++){  //for2
      if (i === 1 && j === 1) break top;
      console.log('i=' + i + ', j=' + j);
    }
  }
// i=0, j=0
// i=0, j=1
// i=0, j=2
// i=1, j=0

根据js顺序定义,for1先执行,执行完后执行for2(此时for1中的i还没有为2,需要一个语句借宿后才+1),for2的条件语句执行完后与for1一样,j未+1。
执行完for2中的if后,此时输出 i = 0, j = 0 ;

注意:此时并没有跳出for2,在for2中循环,所以有i = 0,j = 1的输出;

直到j = 3时,跳出了for2的循环,此时for1的第一个循环结束,i++生效;

for1的第二个循环开始时,i=1,for2循环重新开始啦...

top:
  for (var i = 0; i < 3; i++){
    for (var j = 0; j < 3; j++){
      console.log('i=' + i + ', j=' + j);
      if (i === 1 && j === 1) break top;
    }
  }
// i=0, j=0                              
// i=0, j=1
// i=0, j=2
// i=1, j=0                     
// i=1, j=1

参照此代码可知循环过程

上一篇 下一篇

猜你喜欢

热点阅读