1. continue、break和return的区别
循环遍历。
for(let i = 0; i < 5; i++){
console.log(i); // 0 1 2 3 4
}
使用continue
、break
和return
。
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
也是跳出循环,但其实return
和break
是有区别的。我们再看几个例子。
(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
除了跳出循环的作用外,还有跳出当前函数的作用。