详谈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 相关文章推荐
Extjs中的GridPanel隐藏列会显示在menuDisabled中解决方法
Jan 27 Javascript
使用js实现雪花飘落效果
Aug 26 Javascript
jQuery之过滤元素操作小结
Nov 30 Javascript
js中的preventDefault与stopPropagation详解
Jan 29 Javascript
js 数值转换为3位逗号分隔的示例代码
Feb 19 Javascript
Bootstrap模态框水平垂直居中与增加拖拽功能
Nov 09 Javascript
Bootstrap table 定制提示语的加载过程
Feb 20 Javascript
vue 实现类似淘宝星级评分的示例
Mar 01 Javascript
详解微信小程序实现WebSocket心跳重连
Jul 31 Javascript
解决layui的使用以及针对select、radio等表单组件不显示的问题
Sep 05 Javascript
layer.open提交子页面的form和layedit文本编辑内容的方法
Sep 27 Javascript
VueCli4项目配置反向代理proxy的方法步骤
May 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
PHP入门教程之字符串处理技巧总结(转换,过滤,解析,查找,截取,替换等)
2016/09/11 PHP
PHP获取当前日期及本周一是几月几号的方法
2017/03/28 PHP
Z-Blog中用到的js代码
2007/03/15 Javascript
JavaScript进阶教程(第四课第一部分)
2007/04/05 Javascript
一句话JavaScript表单验证代码
2009/08/02 Javascript
点击下载链接 弹出页面实现代码
2009/10/01 Javascript
JavaScript 面向对象的之私有成员和公开成员
2010/05/04 Javascript
jquery animate图片模向滑动示例代码
2011/01/26 Javascript
获取body标签的两种方法
2011/10/13 Javascript
js简易namespace管理器 实例代码
2013/06/21 Javascript
js正文内容高亮效果的实现方法
2013/06/30 Javascript
JavaScript中的small()方法使用详解
2015/06/08 Javascript
简单学习JavaScript中的for语句循环结构
2015/11/10 Javascript
APP中javascript+css3实现下拉刷新效果
2016/01/27 Javascript
正则表达式(语法篇推荐)
2016/06/24 Javascript
jQuery图片前后对比插件beforeAfter用法示例【附demo源码下载】
2016/09/20 Javascript
javascript实现多张图片左右无缝滚动效果
2017/03/22 Javascript
JQuery实现图片轮播效果
2017/05/08 jQuery
promise处理多个相互依赖的异步请求(实例讲解)
2017/08/03 Javascript
Angular2.0实现modal对话框的方法示例
2018/02/18 Javascript
在微信小程序中渲染HTML内容的方法示例
2018/09/28 Javascript
Angular6 Filter实现页面搜索的示例代码
2018/12/02 Javascript
vue路由前进后退动画效果的实现代码
2018/12/10 Javascript
js实现验证码功能
2020/07/24 Javascript
[48:45]Ti4 循环赛第二日 NEWBEE vs EG
2014/07/11 DOTA
Python查找文件中包含中文的行方法
2018/12/19 Python
python3 re返回形式总结
2020/11/20 Python
canvas学习笔记之2d画布基础的实现
2019/02/21 HTML / CSS
加拿大最大的五金、家居装修和园艺产品商店:RONA
2017/01/27 全球购物
优秀辅导员事迹材料
2014/02/16 职场文书
幼儿园标语大全
2014/06/19 职场文书
放弃遗产继承公证书
2015/01/26 职场文书
安全主题班会教案
2015/08/12 职场文书
《金色的草地》教学反思
2016/02/17 职场文书
详解python的内存分配机制
2021/05/10 Python
MySQL详解进行JDBC编程与增删改查方法
2022/06/16 MySQL