了解 JS 中Continue和Break语句的差异

在这篇文章中,我们会详细介绍continuebreak,分析它们的相同和不同之处,甚至用一些可运行的实例。

continuebreak都是用于控制循环的。我们先来看一下他们的定义:

  • Continue:结束当前的执行,并继续下一个循环。
  • Break:终止整个循环的执行。

注意:break还可以用在switch中,本文主要介绍在循环中的使用。

Continue

考虑如下代码:

for (let i = 1; i <= 10; i++) {
    console.log(i);
}

我们有一个简单的 for 循环,该循环会执行 10 次,i 的值从 1 一直递增到 10。每一次循环将当前 i 的值打印出来。执行结果如下:

1.png

如果我们只想打印偶数,应该如何做呢?使用continue可以很容易搞定。在每一次循环我们检查是否为奇数,如果是,则跳出此次循环,继续下一次。如果不是,则打印 i 的值。

for (let i = 1; i <= 10; i++){
  if (i % 2 == 1) continue;
  console.log(i);
}

执行结果如下:

2.png

记住,当使用continue关键字的时候,该次循环立即结束执行,continue往后的代码不再被执行。

Break

我们使用相同的循环来做例子:

for (let i = 1; i <= 10; i++) {
    console.log(i);
}

如果我们想在 i 的值为 6 的时候,终止整个循环。那么我们可以使用break

for (let i = 1; i <= 10; i++) {
    if (i == 6) break;
    console.log(i);
}

如果执行上面的代码,for 循环会在 i 为 6 的时候终止执行,因此 6 也不会被打印到控制台。

3.png

嵌套 For 循环

值得注意的是,breakcontinue都只对当前循环有效。如果我们有嵌套循环,那么就要很小心了。不妨来看下面的例子:

for (let i = 0; i < 5; i++) {
    if (i % 2 == 0) continue;
    for (let j = 0; j < 5; j++) {
        if (j == 2) break;
        console.log(`i = ${i}, j = ${j}`);
    }
}

这里我们有两个循环,每一个都会执行 5 次(0~4)。外层的循环在 i 是偶数的时候,跳过当前循环执行下一个。也就是说只有 i 为 1 或则 3 的时候,才会执行内层的循环。

内层的循环只要 j 的值为 2,就终止了。因此,j 只有 0 和 1。

最终结果如下:

4.png

评论精选

  • [Nicu Micleușanu]:最好的策略是 break 和 continue 都不要用。如果你用了,证明你哪里搞错了,尝试换个方法。

  • [Brandon Morelli]: 我同意用函数式的方法更好,来避免使用 for 循环。不过呢,理解continuebreak的异同点还是很重要的,万一哪天遇到了呢。

英文原文地址:https://codeburst.io/javascript-continue-vs-break-47b5c15cacc6

本文采用意译,版权归原作者所有

更多web前端知识,请查阅 HTML中文网 !!

以上就是了解 JS 中Continue和Break语句的差异的详细内容,更多请关注web前端其它相关文章!

赞(0) 打赏
未经允许不得转载:web前端首页 » JavaScript 教程

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

前端开发相关广告投放 更专业 更精准

联系我们

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏