return,break,continue三者区别
break
break用于完全结束一个循环,跳出循环体。不管是哪种循环,一旦在循环体中遇到break,系统将完全结束循环,开始执行循环之后的代码。 break不仅可以结束其所在的循环,还可结束其外层循环。
for(let i=0;i<3;i++){
for(let j=0;j<=2;j++){
console.log("i="+i+", j="+j);
/* 这里是没有break时的输出
i=0, j=0
i=0, j=1
i=0, j=2
i=1, j=0
i=1, j=1
i=1, j=2
i=2, j=0
i=2, j=1
i=2, j=2
*/
if(j==1){
break;
/* 再j==1时break的输出
i=0, j=0
i=0, j=1
i=1, j=0
i=1, j=1
i=2, j=0
i=2, j=1
*/
}
}
}
continue
continue的功能和break有点类似,区别是continue只是中止本次循环,接着开始下一次循环。而break则是完全中止循环。
for(let i=0;i<3;i++){
if(i==1){
continue;
}
console.log("i="+i);//i=0 i=2
}
return
return关键字并不是专门用于跳出循环的,return的功能是结束一个方法(只能在函数体里使用)。 一旦在循环体内执行到一个return语句,return语句将会结束该方法,return后的语句不会生效,循环自然也随之结束。与continue和break不同的是,return直接结束整个方法,不管这个return处于多少层循环之内。
function fun(){
for(let i=0;i<3;i++){
console.log("i="+i);//i=0 i=1
if(i==1){
return;
}
}
console.log("return之后");//不会执行
}
fun();