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

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

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

参照此代码可知循环过程

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 在C语言中,五种基本数据类型存储空间长度的排列顺序是: A)char B)char=int<=float C)ch...
    夏天再来阅读 9,153评论 0 2
  • 个人学习批处理的初衷来源于实际工作;在某个迭代版本有个BS(安卓手游模拟器)大需求,从而在测试过程中就重复涉及到...
    Luckykailiu阅读 10,302评论 0 11
  • 【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔...
    开心的锣鼓阅读 8,587评论 0 9
  • 数组在程序设计中,为了处理方便, 把具有相同类型的若干变量按有序的形式组织起来。这些按序排列的同类数据元素的集合称...
    朱森阅读 9,597评论 2 13
  • 2015年下半年起,视频直播行业突然进入加速发展阶段,尤其是移动端直播更为突出。资本涌入、用户暴涨、媒体关注、主播...
    寻求于陌路的琛琛阅读 5,881评论 6 10

友情链接更多精彩内容