break、continue和return的区别

break

function myBreak() {
for(var i = 0; i < 5; i++) {
if(i == 3) {
break;
}
console.log(i);
}
}
myBreak();
输出:
0
1
2

break: 直接跳出当前的循环,从当前循环外面开始执行,忽略循环体中任何其他语句和循环条件测试。它只能跳出一层循环,如果你的循环是嵌套循环,那么你需要按照你嵌套的层次,逐步使用break来跳出。

continue

function myContinue() {
for(var i = 0; i < 5; i++) {
if(i == 3) {
continue;
}
console.log(i);
}
}
myContinue();
输出:
0
1
2
4

continue: 终止当前的一次循环过程,其跳出循环,而是继续往下判断循环条件执行语句。

只能结束循环中的一次过程,但不能终止循环继续进行。

return

function myReturn() {
for(var i = 0; i < 5; i++) {
if(i == 3) {
return i;
}
console.log(i);
}
}
var s = myReturn();
console.log("s: " + s);
输出:
0
1
2
s: 3

return: 从当前的方法中退出,返回到该调用的方法的语句处,继续执行。

总结

1、return语句的作用

(1) return 从当前的方法中退出,返回到该调用的方法的语句处,继续执行
(2) return 返回一个值给调用该方法的语句,返回值的数据类型必须与方法的声明中的返回值的类型一致,可以使用强制类型转换来是数据类型一致
(3) return 当方法说明中用void声明返回类型为空时,应使用这种格式,不返回任何值。

2、break语句的作用

(1) 只能在循环体内和switch语句体内使用break语句。
(2) 当break出现在循环体中的switch语句体内时,其作用只是跳出该switch语句体。
(3) 当break出现在循环体中,但并不在switch语句体内时,则在执行break后,跳出本层循环体。
(4) 在循环结构中,应用break语句使流程跳出本层循环体,从而提前结束本层循环

3、continue语句作用

(1) continue语句的一般形式为:continue;
(2) 其作用是结束本次循环,即跳过本次循环体中余下尚未执行的语句,接着再一次进行循环的条件判定。
(3) 注意:执行continue语句并没有使整个循环终止。在while和do-while循环中,continue语句使得流程直接跳到循环控制条件的测试部分 ,然后决定循环是否继续进行。
(4) 在for 循环中,遇到continue后,跳过循环体中余下的语句,而去对for语句中的“表达式3”求值,然后进行“表达式2”的条件测试,
最后根据“表达式2”的值来决定for循环是否执行。在循环体内,不论continue是作为何种语句中的语句成分,都将按上述功能执行,这点与break有所不同

最新文章

  1. &lt;textarea&gt;没有内容时,按回车键,设置光标不换行
  2. Python基础之装饰器
  3. AjaxFormSubmit使用demo
  4. Volley(三)—— ImageRequest &amp; Request简介
  5. OAuth2 通用组件源码下载(支持新浪微博、QQ、淘宝)(转载)
  6. 为mysql在表的某一位置增加一列
  7. 黑马程序员——JAVA基础之多线程的安全问题
  8. MongoDB工具简要说明
  9. VC远控(二)连接Server端及密码验证
  10. POJ 2826 An Easy Problem?!
  11. MSCRM4.0如何使js事件在批量编辑表单中触发
  12. Spark常用函数讲解之Action操作
  13. YouComplete:vim自动补全插件
  14. 百度地图Label 样式:label.setStyle
  15. 方法的标签_With携带
  16. url特殊字符转义及解决方法
  17. Java中的Lock锁
  18. centos7之zabbix3.2代理(zabbix-proxy)搭建
  19. 浅谈C++ STL
  20. NSOperation讲解

热门文章

  1. java和erlang之间的DES加解密
  2. erlang的timer定时器浅析
  3. pm2 服务崩溃 Error: bind EADDRINUSE
  4. Portal实现原理
  5. 10 redis--频道发布与消息订阅
  6. c# 根据枚举Value 获得名称
  7. vue-cli3.0升级失败,vue-cli卸载不掉,vue-cli升级不了3.0
  8. BZOJ 1597: [Usaco2008 Mar]土地购买 斜率优化
  9. 【BZOJ3251】树上三角形 暴力
  10. An Overview of Query Optimization in Relational Systems