详谈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封装的对话框简单实现
Jul 21 Javascript
JavaScript的jQuery库中function的存在和参数问题
Aug 13 Javascript
jQuery点击弹出层弹出模态框点击模态框消失代码分享
Jan 21 Javascript
基于jQuery实现瀑布流页面
Apr 11 jQuery
AngularJS折叠菜单实现方法示例
May 18 Javascript
vue数字类型过滤器的示例代码
Sep 07 Javascript
vue按需引入element Transfer 穿梭框
Sep 30 Javascript
解决element ui select下拉框不回显数据问题的解决
Feb 20 Javascript
jQuery each和js forEach用法比较
Feb 27 jQuery
JavaScript RegExp 对象用法详解
Sep 24 Javascript
Angular6项目打包优化的实现方法
Dec 15 Javascript
vue v-for出来的列表,点击某个li使得当前被点击的li字体变红操作
Jul 17 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
新浪新闻小偷
2006/10/09 PHP
php中将字符串转为HTML的实体引用的一个类
2013/02/03 PHP
WordPress中给文章添加自定义字段及后台编辑功能区域
2015/12/19 PHP
微信 getAccessToken方法详解及实例
2016/11/23 PHP
PHP获取链表中倒数第K个节点的方法
2018/01/18 PHP
Nigma vs AM BO3 第二场2.13
2021/03/10 DOTA
jquery+ajax实现直接提交表单实例分析
2016/06/17 Javascript
jquery  实现轮播图详解及实例代码
2016/10/12 Javascript
AngularJS模仿Form表单提交的实现代码
2016/12/08 Javascript
jQuery实现别踩白块儿网页版小游戏
2017/01/18 Javascript
Vue.js实战之组件的进阶
2017/04/04 Javascript
nodejs更改项目端口号的方法
2018/05/13 NodeJs
Vue条件循环判断+计算属性+绑定样式v-bind的实例
2018/09/18 Javascript
详解一个小实例理解js原型和继承
2019/04/24 Javascript
20个必会的JavaScript面试题(小结)
2019/07/02 Javascript
vue递归组件实战之简单树形控件实例代码
2019/08/27 Javascript
[02:25]DOTA2英雄基础教程 虚空假面
2014/01/02 DOTA
[00:29]2019完美世界全国高校联赛(秋季赛)总决赛海口落幕
2019/12/10 DOTA
[01:33]PWL开团时刻DAY2-开雾与反开雾
2020/10/31 DOTA
在Django中创建URLconf相关的通用视图的方法
2015/07/20 Python
Python编程之基于概率论的分类方法:朴素贝叶斯
2017/11/11 Python
python通过opencv实现批量剪切图片
2017/11/13 Python
django实现模板中的字符串文字和自动转义
2020/03/31 Python
Python自动重新加载模块详解(autoreload module)
2020/04/01 Python
Python中猜拳游戏与猜筛子游戏的实现方法
2020/09/04 Python
Joules美国官网:出色的英国风格
2017/10/30 全球购物
意大利领先的奢侈品在线时装零售商:MCLABELS
2020/10/13 全球购物
会计专业自荐信
2013/12/02 职场文书
高中毕业自我鉴定
2013/12/22 职场文书
银行办公室岗位职责
2014/03/10 职场文书
班主任工作经验交流材料
2014/05/13 职场文书
校园学雷锋广播稿
2014/10/08 职场文书
个人汇报材料范文
2014/12/30 职场文书
2015年护士节慰问信
2015/03/23 职场文书
Java后台生成图片的完整步骤
2021/08/04 Java/Android
JS实现简单九宫格抽奖
2022/06/28 Javascript