break 和 continue的区别及如何终止外层循环

这是我参与8月更文挑战的第9天,活动详情查看:8月更文挑战html

break 和 continue 这两个语句的出现能够帮助咱们大量的优化代码,减小了计算机的计算次数。可是很容易混淆它们的用法.web

break

我已经找到我要的答案了,我不须要进行更多的循环了!markdown

  • break 语句的做用能够当即中止当前的 for、do while、while 循环。 
  • 根据一些条件设置 break 位置,直到循环可以执行到 break 语句当即中止执行,跳出循环

注意post

  • break 若是没有特殊指示,只能中止本身所在的那一层循环,并不能终止外部循环。(例1)
  • 若是想中止外层循环,能够给外层循环添加一个标签名 label,在内层循环的 break 关键字后面空格加一个 label 名。(例2)

例1

for (var i = 1; i<=4; i++){
            for (var j = 1; j<=4; j++){
                console.log(i,j);
                if (j >= 2){
                    break;
                }
            }
        }
复制代码

输出:优化

image.png

这里咱们能够看到, break只是终止了内层的循环, 外层的循环还在继续, 只有内层循环中知足if条件j>=2的部分不会再执行了url

例2

lable: for (var i = 1; i<=4; i++){
            for (var j = 1; j<=4; j++){
                console.log(i,j);
                if (j >= 2){
                    break lable;
                }
            }
        }
复制代码

输出:spa

image.png

当为break设置标签终止外部循环时, 能够看到全部i>=2的部分都不会执行了.3d

continue

这个答案不是我想要的,赶忙试试下一个吧!code

遇到 continue 表示当前的一次循环数据不是咱们想要的,会当即中止当前次的循环,当即进入下一次循环orm


注意

  • 要根据特殊条件设置 continue 的位置。
  • continue 若是没有特殊指示只能进入本身的下一次循环,不能当即中止外层循环的这一次进入下一次
  • 控制外层循环的方式与 break 同样,都是添加外层的标签名。(例1)

例1

for (var i = 1; i<=4; i++){
            for (var j = 1; j<=4; j++){
                if (j >= 3){
                    continue;
                }
                console.log(i,j)
            }
        }
复制代码

输出:

image.png

例2

lable: for (var i = 1; i<=4; i++){
            for (var j = 1; j<=4; j++){
                if (j >= 3){
                    continue lable;
                }
                console.log(i,j)
            }
        }
复制代码

输出:

image.png

在这两个例题中, 使用continue结束内层仍是外层循环获得的结果并无区别.

小结

break语句能够跳出当前循环;

break语句一般配合if,在知足条件时提早结束整个循环;

break语句老是跳出最近的一层循环;

continue语句能够提早结束本次循环;

continue语句一般配合if,在知足条件时提早结束本次循环。

相关文章
相关标签/搜索