详谈for循环里面的break和continue语句


Posted in Javascript onJuly 20, 2017

break语句

哇,我已经找到我要的答案了,我不需要进行更多的循环了!

比如,寻找第一个能被5整除的数:

for循环中,如果遇见了break语句,这个for循环就会立即终止,不在进行其他的迭代了。

for(var i = 1 ; i <= 100; i++){

  console.log(i);

 
 if(i == 5){

 

 break; //找到了一个,就立即终止循环

 
}

 }

break语句只能跳出当前所在的最内层循环:

//break只中断了最内层循环,外层循环还在继续

 for(var i = 1 ; i <= 10 ; i++){

  for(var j = 1 ; j <= 10 ; j++){

 

 console.log(i,j);

 

if(j == 5){

 

 break;

 

 }

 
}

 }

如果你这个break就是想终止所有的循环,那么JS中允许你给循环语句加label

//break只能终止内层循环,但是我们就是想要终止外层循环

 //就要给外层循环加label:

 waiceng : for(var i = 1 ; i <= 10 ; i++){

  for(var j = 1 ; j <= 10 ; j++){

 

 console.log(i,j);

 

if(j == 5){

 

 break waiceng; //break label的语法

 

 }

 
 }

 }

continue语句

呃,这个答案不是我想要的,赶紧试试下一个数字吧!

遇见continue语句,for会立即终止执行后面的语句,然后进入下一次迭代了。

for(var i = 1 ; i <= 100 ; i++){

  if(i == 5){

 

 continue;  //当i为5的时候,立即终止执行后面的console语句,直接i为6了。

 
}

 
 console.log(i);

 }

同样的,continue只能终端当前最内层的for,外层for要加label。

break和continue的目的,就是优化算法的。

寻找质数的方法:

<script type="text/javascript">

  //寻找2~100之内的所有质数

  waiceng :

  for(var i = 2 ; i <= 100 ; i++){

  //我们要测试i是不是质数,之前我们的算法是测试i的约数个数(不包括1和自己)

  //约数个数如果为0,那么就是质数。

  //凭什么我要测试约数个数??

  //只要你有约数,你就不是质数!!!!

   for(var j = 2 ; j <= Math.sqrt(i) ; j++){

  

 if(i % j == 0){

   


 continue waiceng; //如果这数字,被某一个数字整除了,那么立即放弃他

     

 //开始验证下一个i

  

 }

 
 }

 

 
  console.log(i); //如果一个数字有约数,就会执行continue,就遇不见这个语句了。

  }

 </script>

以上这篇详谈for循环里面的break和continue语句就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
Jquery Ajax请求代码(2)
Jan 07 Javascript
js中根据字数截取字符串,不能截断url
Jan 12 Javascript
基于JavaScript实现鼠标悬浮弹出跟随鼠标移动的带箭头的信息层
Jan 18 Javascript
JS显示日历和天气的方法
Mar 01 Javascript
谈谈PHP中相对路径的问题与绝对路径的使用
Aug 16 Javascript
jquery的checkbox,radio,select等方法小结
Aug 30 Javascript
js防阻塞加载的实现方法
Sep 09 Javascript
微信小程序 scroll-view组件实现列表页实例代码
Dec 14 Javascript
AngularJS入门示例之Hello World详解
Jan 04 Javascript
Bootstrap4 gulp 配置详解
Jan 06 Javascript
JavaScript实现拖拽盒子效果
Feb 06 Javascript
webpack.DefinePlugin与cross-env区别详解
Feb 23 Javascript
js is_valid_filename验证文件名的函数
Jul 19 #Javascript
vue Render中slots的使用的实例代码
Jul 19 #Javascript
详解vue前后台数据交互vue-resource文档
Jul 19 #Javascript
解决vue router使用 history 模式刷新后404问题
Jul 19 #Javascript
深入理解vue Render函数
Jul 19 #Javascript
Vue AST源码解析第一篇
Jul 19 #Javascript
Vue之Watcher源码解析(1)
Jul 19 #Javascript
You might like
php断点续传之如何分割合并文件
2014/03/22 PHP
PHP中strlen()和mb_strlen()的区别浅析
2014/06/19 PHP
PHP中上传多个文件的表单设计例子
2014/11/19 PHP
PHP请求Socket接口测试实例
2016/08/12 PHP
php封装的图片(缩略图)处理类完整实例
2016/10/19 PHP
浅谈PHP array_search 和 in_array 函数效率问题
2019/10/15 PHP
一个JS翻页效果
2007/07/23 Javascript
FormValidate 表单验证功能代码更新并提供下载
2008/08/23 Javascript
Extjs TriggerField在弹出窗口显示不出问题的解决方法
2010/01/08 Javascript
jQuery EasyUI API 中文文档 - Pagination分页
2011/09/29 Javascript
jQuery插件PageSlide实现左右侧栏导航菜单
2015/04/12 Javascript
Backbone.js框架中简单的View视图编写学习笔记
2016/02/14 Javascript
jQuery插件cxSelect多级联动下拉菜单实例解析
2016/06/24 Javascript
Spring MVC中Ajax实现二级联动的简单实例
2016/07/06 Javascript
jquery编写日期选择器
2017/03/16 Javascript
JavaScript禁止微信浏览器下拉回弹效果
2017/05/16 Javascript
jQuery Easyui Treegrid实现显示checkbox功能
2017/08/08 jQuery
vue项目如何刷新当前页面的方法
2018/05/18 Javascript
Vue实现6位数密码效果
2018/08/18 Javascript
解决vue2 在mounted函数无法获取prop中的变量问题
2018/11/15 Javascript
jQuery AJAX与jQuery事件的分析讲解
2019/02/18 jQuery
简单的连接MySQL与Python的Bottle框架的方法
2015/04/30 Python
django中静态文件配置static的方法
2018/05/20 Python
python求最大连续子数组的和
2018/07/07 Python
python程序运行进程、使用时间、剩余时间显示功能的实现代码
2019/07/11 Python
python之array赋值技巧分享
2019/11/28 Python
python 实现关联规则算法Apriori的示例
2020/09/30 Python
快速创建python 虚拟环境
2020/11/28 Python
精伦电子Java笔试题
2013/01/16 面试题
法定代表人身份证明书
2014/09/10 职场文书
党的群众路线批评与自我批评范文
2014/10/16 职场文书
教师党员自我评价范文
2015/03/04 职场文书
2015年施工员工作总结范文
2015/04/20 职场文书
小学感恩主题班会
2015/08/12 职场文书
大学生暑期实践报告之企业经营管理
2019/08/08 职场文书
Windows server 2003卸载和安装IIS的图文教程
2022/07/15 Servers