JavaScript的continue、break和return的区别

时间:2022-12-07 13:14:54

1. continue、break和return的区别

循环遍历。

for(let i = 0; i < 5; i++){
console.log(i); // 0 1 2 3 4
}

使用continuebreakreturn

for(let i = 0; i < 5; i++){
if(i==3){
continue;
}
console.log(i); // 0 1 2 4
}
for(let i = 0; i < 5; i++){
if(i==3){
break;
}
console.log(i); // 0 1 2
}
for(let i = 0; i < 5; i++){
if(i==3){
return;
}
console.log(i); // 0 1 2
}

我们可以看到continue跳出当前循环(即进入下次循环),而break跳出整个循环(即不再执行之后的循环)。

这里return也是跳出循环,但其实returnbreak是有区别的。我们再看几个例子。

(function foo(){
for(let i = 0; i < 5; i++){
if(i==3){
continue;
}
console.log(i); // 0 1 2 4 hello
}
console.log('hello');
})();
(function foo(){
for(let i = 0; i < 5; i++){
if(i==3){
break;
}
console.log(i); // 0 1 2 hello
}
console.log('hello');
})();
(function foo(){
for(let i = 0; i < 5; i++){
if(i==3){
return;
}
console.log(i); // 0 1 2
}
console.log('hello');
})();

提示:(function foo(){ //... })()是立即执行函数。

我们看到使用return时,没有打印hello。因此,return除了跳出循环的作用外,还有跳出当前函数的作用。