详谈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 相关文章推荐
50个比较实用jQuery代码段
Sep 18 Javascript
Jquery利用mouseenter和mouseleave实现鼠标经过弹出层且可以点击
Feb 12 Javascript
JavaScript实现网页截图功能
Oct 16 Javascript
详解Angular的双向数据绑定(MV-VM)
Dec 26 Javascript
bootstrap侧边栏圆点导航
Jan 11 Javascript
微信小程序(六):列表上拉加载下拉刷新示例
Jan 13 Javascript
vue.js组件之间传递数据的方法
Jul 10 Javascript
zTree异步加载展开第一级节点的实现方法
Sep 05 Javascript
jQuery实现常见的隐藏与展示列表效果示例
Jun 04 jQuery
Vue resource三种请求格式和万能测试地址
Sep 26 Javascript
tracking.js实现前端人脸识别功能
Apr 16 Javascript
webpack+vue-cil 中proxyTable配置接口地址代理操作
Jul 18 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实现文件上传二法
2006/10/09 PHP
PHP中的日期及时间
2006/11/23 PHP
用PHP生成html分页列表的代码
2007/03/18 PHP
谈谈新手如何学习PHP 默默经典版本
2009/08/04 PHP
PHP文件去掉PHP注释空格的函数分析(PHP代码压缩)
2013/07/02 PHP
浅析php过滤html字符串,防止SQL注入的方法
2013/07/02 PHP
浅析php中json_encode()和json_decode()
2014/05/25 PHP
php检查字符串中是否有外链的方法
2015/07/29 PHP
PHP的命令行命令使用指南
2015/08/18 PHP
深入讲解PHP的Yii框架中的属性(Property)
2016/03/18 PHP
Yii数据库缓存实例分析
2016/03/29 PHP
基于jquery的地址栏射击游戏代码
2011/03/10 Javascript
jQuery代码优化之基本事件
2011/11/01 Javascript
jQuery-Easyui 1.2 实现多层菜单效果的代码
2012/01/13 Javascript
关于JavaScript中name的意义冲突示例介绍
2014/05/29 Javascript
JS的location.href跳出框架打开新页面的方法
2014/09/04 Javascript
谈谈对offsetleft兼容性的理解
2015/11/11 Javascript
jqGrid用法汇总(全经典)
2016/06/28 Javascript
浅谈js中StringBuffer类的实现方法及使用
2016/09/02 Javascript
JavaScript你不知道的一些数组方法
2017/08/18 Javascript
浅谈vue中慎用style的scoped属性
2017/11/28 Javascript
javascript实现循环广告条效果
2017/12/12 Javascript
Vue项目中数据的深度监听或对象属性的监听实例
2020/07/17 Javascript
Python中创建字典的几种方法总结(推荐)
2017/04/27 Python
Python实现接受任意个数参数的函数方法
2018/04/21 Python
详解Python 字符串相似性的几种度量方法
2019/08/29 Python
PyQt5 如何让界面和逻辑分离的方法
2020/03/24 Python
python中sympy库求常微分方程的用法
2020/04/28 Python
PyQt实现计数器的方法示例
2021/01/18 Python
基于HTML5代码实现折叠菜单附源码下载
2015/11/27 HTML / CSS
南非最大的花卉和送礼服务:NetFlorist
2017/09/13 全球购物
艺术应用与设计专业个人的自我评价
2013/11/19 职场文书
财务出纳岗位职责
2014/02/03 职场文书
青春无悔演讲稿
2014/05/08 职场文书
拾金不昧感谢信范文
2015/01/21 职场文书
2015年教师节活动总结
2015/03/20 职场文书