详谈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 相关文章推荐
这段js代码得节约你多少时间
Dec 20 Javascript
jquery.blockUI.js上传滚动等待效果实现思路及代码
Mar 18 Javascript
在JavaScript中使用timer示例
May 08 Javascript
JavaScript比较两个对象是否相等的方法
Feb 06 Javascript
AngularJS基础 ng-submit 指令简单示例
Aug 03 Javascript
JS不完全国际化&amp;本地化手册 之 理论篇
Sep 27 Javascript
JavaScript实现页面无操作倒计时退出
Oct 22 Javascript
vue实现某元素吸顶或固定位置显示(监听滚动事件)
Dec 13 Javascript
JavaScript中concat复制数组方法浅析
Jan 20 Javascript
JavaScript实现的开关灯泡点击切换特效示例
Jul 08 Javascript
js简单的分页器插件代码实例
Sep 11 Javascript
vue 页面回退mounted函数不执行的解决方案
Jul 26 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通过COM使用ADODB的简单例子
2006/12/31 PHP
php5新改动之短标记启用方法
2008/09/11 PHP
PHP生成网页快照 不用COM不用扩展.
2010/02/11 PHP
PHP连接SQLServer2005的实现方法(附ntwdblib.dll下载)
2012/07/02 PHP
Linux Apache PHP Oracle 安装配置(具体操作步骤)
2013/06/17 PHP
在windows平台上构建自己的PHP实现方法(仅适用于php5.2)
2013/07/05 PHP
thinkphp命名空间用法实例详解
2015/12/30 PHP
thinkPHP中session()方法用法详解
2016/12/08 PHP
javascript得到XML某节点的子节点个数的脚本
2008/10/11 Javascript
详解Jquery实现ready和bind事件
2016/04/14 Javascript
微信小程序button组件使用详解
2018/01/31 Javascript
JS中promise化微信小程序api
2018/04/12 Javascript
详解Vue Elementui中的Tag与页面其它元素相互交互的两三事
2018/09/25 Javascript
微信小程序swiper实现滑动放大缩小效果
2018/11/15 Javascript
如何使用JavaScript实现栈与队列
2019/06/24 Javascript
Vue form表单动态添加组件实战案例
2019/09/02 Javascript
微信小程序实现购物车小功能
2020/12/30 Javascript
[03:46]DOTA2英雄基础教程 维萨吉
2013/12/11 DOTA
Python数据集切分实例
2018/12/08 Python
Django 多表关联 存储 使用方法详解 ManyToManyField save
2019/08/09 Python
Python reshape的用法及多个二维数组合并为三维数组的实例
2020/02/07 Python
Pycharm远程连接服务器并实现代码同步上传更新功能
2020/02/25 Python
利用OpenCV中对图像数据进行64F和8U转换的方式
2020/06/03 Python
学习Python爬虫的几点建议
2020/08/05 Python
Python修改DBF文件指定列
2020/12/19 Python
HTML5 Canvas+JS控制电脑或手机上的摄像头实例
2014/05/03 HTML / CSS
《蒙娜丽莎之约》教学反思
2014/02/27 职场文书
安全生产目标责任书
2014/04/14 职场文书
行政专员求职信范文
2014/05/03 职场文书
企业活动策划方案
2014/06/02 职场文书
珠宝的促销活动方案
2014/08/31 职场文书
暑期培训心得体会
2014/09/02 职场文书
2016年党员创先争优承诺书
2016/03/25 职场文书
Python列表删除重复元素与图像相似度判断及删除实例代码
2021/05/07 Python
Python中json.dumps()函数的使用解析
2021/05/17 Python
浅谈GO中的Channel以及死锁的造成
2022/03/18 Golang