详谈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 相关文章推荐
javaScript 读取和设置文档元素的样式属性
Apr 14 Javascript
JS模板实现方法
Apr 03 Javascript
前端开发过程中浏览器版本的两种判定方法
Oct 30 Javascript
js中settimeout方法加参数
Feb 28 Javascript
js如何判断用户是在PC端和还是移动端访问
Apr 24 Javascript
JS点击链接后慢慢展开隐藏着图片的方法
Feb 17 Javascript
JavaScript中Function()函数的使用教程
Jun 04 Javascript
jQuery实现伪分页的方法分享
Feb 17 Javascript
使用微信小程序开发前端【快速入门】
Dec 05 Javascript
原生JS+Canvas实现五子棋游戏实例
Jun 19 Javascript
原生JS实现隐藏显示图片 JS实现点击切换图片效果
Jan 27 Javascript
关于Javascript闭包与应用的详解
Apr 22 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 max_execution_time执行时间问题
2011/07/17 PHP
PHP实现把文本中的URL转换为链接的auolink()函数分享
2014/07/29 PHP
php实现根据IP地址获取其所在省市的方法
2015/04/30 PHP
基于Jquery的回车成tab焦点切换效果代码(Enter To Tab )
2010/11/14 Javascript
基于jquery的监控数据是否发生改变
2011/04/11 Javascript
javascript操作表格排序实例分析
2015/05/06 Javascript
JavaSacript中charCodeAt()方法的使用详解
2015/06/05 Javascript
jQuery简单实现tab选项卡切换效果
2016/06/20 Javascript
一步一步封装自己的HtmlHelper组件BootstrapHelper(二)
2016/09/14 Javascript
Javascript函数中的arguments.callee用法实例分析
2016/09/16 Javascript
jQuery中的siblings()是什么意思(推荐)
2016/12/29 Javascript
jQuery实现移动端Tab选项卡效果
2017/03/15 Javascript
jquery-file-upload 文件上传带进度条效果
2017/11/21 jQuery
vue-cli项目中使用Mockjs详解
2018/05/14 Javascript
在AngularJs中设置请求头信息(headers)的方法及不同方法的比较
2018/09/04 Javascript
mpvue+vuex搭建小程序详细教程(完整步骤)
2018/09/30 Javascript
JS操作Fckeditor的一些常用方法(获取、插入等)
2020/02/19 Javascript
详解JavaScript数据类型和判断方法
2020/09/04 Javascript
在antd中setFieldsValue和defaultVal的用法
2020/10/29 Javascript
详解Django通用视图中的函数包装
2015/07/21 Python
flask框架使用orm连接数据库的方法示例
2018/07/16 Python
使用Python编写Prometheus监控的方法
2018/10/15 Python
python批量创建指定名称的文件夹
2019/03/21 Python
Django框架之登录后自定义跳转页面的实现方法
2019/07/18 Python
Python实现基于SVM的分类器的方法
2019/07/19 Python
使用APScheduler3.0.1 实现定时任务的方法
2019/07/22 Python
python使用numpy实现直方图反向投影示例
2020/01/17 Python
Python bytes string相互转换过程解析
2020/03/05 Python
PyQt5.6+pycharm配置以及pyinstaller生成exe(小白教程)
2020/06/02 Python
美国领先的商务贺卡出版商:The Gallery Collection
2018/02/13 全球购物
Skyscanner台湾:全球知名的旅行比价引擎
2018/07/01 全球购物
市场安全管理制度
2014/01/26 职场文书
超市重阳节活动方案
2014/02/10 职场文书
党员学习群众路线教育实践活动对照检查材料
2014/09/23 职场文书
Python实现机器学习算法的分类
2021/06/03 Python
AJAX实现省市县三级联动效果
2021/10/16 Javascript