译者按: 最好是不必,不过基础知识要掌握。
- 原文: JavaScript: Continue vs Break – Learn the difference between the continue and break statements.
- 译者: Fundebug
为了保证可读性,本文采纳意译而非直译。别的,本文版权归原作者一切,翻译仅用于进修。
在这篇文章中,我们会细致引见continue
和break
,剖析它们的雷同和不同之处,以至用一些可运转的实例。
continue
和break
都是用于掌握轮回的。我们先来看一下他们的定义:
- Continue: 完毕当前的实行,并继承下一个轮回。
- Break: 停止全部轮回的实行。
注重:break
还能够用在switch
中,本文主要引见在轮回中的运用。
Continue
斟酌以下代码:
for (let i = 1; i <= 10; i++){
console.log(i);
}
我们有一个简朴的for轮回,该轮回会实行10次,i的值从1一向递增到10。每一次轮回将当前i的值打印出来。实行效果以下:
1
2
3
4
5
6
7
8
9
10
假如我们只想打印偶数,应当如何做呢?运用continue
能够很轻易搞定。在每一次轮回我们搜检是不是为奇数,假如是,则跳出此次轮回,继承下一次。假如不是,则打印i的值。
for (let i = 1; i <= 10; i++){
if (i % 2 == 1) continue;
console.log(i);
}
实行效果以下:
2
4
6
8
10
记着,当运用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也不会被打印到掌握台。
1
2
3
4
5
JavaScript太灵(gui)活(yi)了,出了BUG你也不知道,无妨接入Fundebug线上及时监控。
嵌套For轮回
值得注重的是,break
和continue
都只对当前轮回有用。假如我们有嵌套轮回,那末就要很警惕了。无妨来看下面的例子:
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。
终究效果以下:
i = 1, j = 0
i = 1, j = 1
i = 3, j = 0
i = 3, j = 1
批评精选
- [Nicu Micleușanu]:最好的战略是break和continue都不要用。假如你用了,证实你那里搞错了,尝试换个要领。
- [Brandon Morelli]: 我赞同用函数式的要领更好,来防止运用for轮回。不过呢,明白
continue
和break
的异同点照样很主要的,万一哪天遇到了呢。
版权声明:
转载时请说明作者Fundebug以及本文地点:
https://blog.fundebug.com/2018/03/05/javascript-continue-vs-break/