老师,这是的 continue outernum不是同时结束内部循环和外部循环,接着执行下一个迭代吗?

老师,这是的 continue outernum不是同时结束内部循环和外部循环,接着执行下一个迭代吗?

var num = 0;

outernum: for (var i = 0; i < 10; i++) {

   for (var j=0;j<10;j++) {

      if (i == 5&&j== 5) {

          continue outernum;

      }

      num++;

   } 

}

alert(num) //95

https://img1.sycdn.imooc.com//climg/624be92509c8050c10470105.jpg

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
好帮手慕星星 2022-04-06 10:34:04

同学你好,解答如下:

1、这两个例子本身就是与label语句联合使用的

https://img1.sycdn.imooc.com//climg/624cfaf309e8ed0712560384.jpg

如果break和continue后面不加outernum,就和普通的break,continue作用一样了。

2、因为break outernum;会使内部和外部循环都终止。当i等于4的时候,外层循环了5次,内层每遍循环10次,所以共50次。等i等于5,j等于5的时候,外层循环了一次,内层循环了5次停止,所以共50+5次。

自己再理解下。

好帮手慕星星 2022-04-06 07:39:39

同学你好,break和continue的用法不要看反了。

break语句会同时结束内部和外部循环,结果是55,但是continue只会结束内部循环,结果是95

https://img1.sycdn.imooc.com//climg/624cd30e0987910914861061.jpg

自己再测试下,祝学习愉快!

  • 提问者 dy12369 #1

    那为什么不在内部循环中直接写continue,而是写continue outernum;

    2022-04-06 09:40:08
  • 提问者 dy12369 #2

    老师,我不太理解为什么break终止循环时,i == 5 && j == 5 时,为什么循环的次数变成55次了

    2022-04-06 09:51:03
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师