这几个有点儿类似,一般会用于退出循环或函数,总觉得分不清,这里做一下简单的总结。
break
- 跳出本层循环,执行外层循环
- 用于for循环或者switch语句,只有出现在这些语句的break才是合法的。
continue
- 跳出本次循环,执行下次循环
- 用于while语句、do/while语句、for语句、或者for/in语句的循环体内,在其它地方使用会报错
return
- 跳出所有循环
- 或用于指定函数返回的值
- 只能出现在函数体内,出现在代码中的其他任何地方会报错
例子
<script type="text/javascript">
document.write("break:跳出本层循环,执行外层循环");
document.write("<br/>");
for(var i=1;i<=3;i++){
document.write("<br/>");
document.write("外层循环i="+i);
document.write("<br/>");
for(var j=1;j<=4;j++){
if(j==3){
break;
}
document.write("内层循环j="+j);
document.write(' ');
}
}
document.write("<br/>");
document.write("<br/>");
document.write("continue:跳出本次循环,执行下次循环");
document.write("<br/>");
for(var i=1;i<=3;i++){
document.write("<br/>");
document.write("外层循环i="+i);
document.write("<br/>");
for(var j=1;j<=4;j++){
if(j==3){
continue;
}
document.write("内层循环j="+j);
document.write(' ');
}
}
document.write("<br/>");
document.write("<br/>");
document.write("return:跳出所有循环");
document.write("<br/>");
function test(){ //如果没有将for循环加在这个函数里,会报错。
for(var i=1;i<=3;i++){
document.write("<br/>");
document.write("外层循环i="+i);
document.write("<br/>");
for(var j=1;j<=4;j++){
if(j==3){
return;
}
document.write("内层循环j="+j);
document.write(' ');
}
}
}
test();
</script>
输出结果
break:跳出本层循环,执行外层循环
外层循环i=1
内层循环j=1 内层循环j=2
外层循环i=2
内层循环j=1 内层循环j=2
外层循环i=3
内层循环j=1 内层循环j=2
continue:跳出本次循环,执行下次循环
外层循环i=1
内层循环j=1 内层循环j=2 内层循环j=4
外层循环i=2
内层循环j=1 内层循环j=2 内层循环j=4
外层循环i=3
内层循环j=1 内层循环j=2 内层循环j=4
return:跳出所有循环
外层循环i=1
内层循环j=1 内层循环j=2