在javascript
中,控制循环我们常常使用
continue
和
break
,那他们有什么区别呢?什么时候用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
的值打印出来。执行结果如下:
如果我们只想打印偶数,应该如何做呢?使用
continue
可以很容易搞定。在每一次循环我们检查是否为奇数,如果是,则跳出此次循环,继续下一次。如果不是,则打印i
的值。
for (
let i = 1; i <= 10; i++){
if (
i % 2 == 1) continue;
console.log(
i);
}
执行结果如下:
记住,当使用
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
也不会被打印到控制台。
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
来源:
稀土掘金