详谈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.qrcode在页面上生成二维码且支持中文
Feb 12 Javascript
JQuery解析HTML、JSON和XML实例详解
Mar 29 Javascript
JavaScript中Number.MAX_VALUE属性的使用方法
Jun 04 Javascript
JavaScript去除数组里重复值的方法
Jul 13 Javascript
Javascript的表单验证长度
Mar 16 Javascript
BootStrap入门教程(三)之响应式原理
Sep 19 Javascript
BootStrap 实现各种样式的进度条效果
Dec 07 Javascript
浅谈node中的exports与module.exports的关系
Aug 01 Javascript
js canvas实现简单的图像扩散效果
Jun 28 Javascript
微信小程序实现文字跑马灯效果
May 26 Javascript
JS代码检查工具ESLint介绍与使用方法
Feb 04 Javascript
微信小程序实现导航栏和内容上下联动功能代码
Jun 29 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目录管理函数小结
2008/09/10 PHP
php读取mysql的简单实例
2014/01/15 PHP
浅谈PDO的rowCount函数
2015/06/18 PHP
Ucren Virtual Desktop V2.0
2006/11/07 Javascript
使用javascript访问XML数据的实例
2006/12/27 Javascript
Some tips of wmi scripting in jscript (1)
2007/04/03 Javascript
淘宝搜索框效果实现分析
2011/03/05 Javascript
Javascript中正则表达式的全局匹配模式分析
2011/04/26 Javascript
js常用代码段收集
2011/10/28 Javascript
javaScript实现浮点数转十六进制字符
2013/10/29 Javascript
JS实现的不规则TAB选项卡效果代码
2015/09/18 Javascript
jQuery遍历json的方法分析
2016/04/16 Javascript
Angular的Bootstrap(引导)和Compiler(编译)机制
2016/06/20 Javascript
zepto与jquery的区别及zepto的不同使用8条小结
2016/07/28 Javascript
Javascript实现登录记住用户名和密码功能
2017/03/22 Javascript
JS库之Highlight.js的用法详解
2017/09/13 Javascript
详解Webpack-dev-server的proxy用法
2018/09/08 Javascript
VUE的history模式下除了index外其他路由404报错解决办法
2019/08/21 Javascript
Vue Cli3 打包配置并自动忽略console.log语句的方法
2020/04/23 Javascript
[44:26]DOTA2上海特级锦标赛主赛事日 - 2 胜者组第一轮#4EG VS Fnatic第二局
2016/03/03 DOTA
[01:12:27]EG vs Secret 2018国际邀请赛淘汰赛BO3 第二场 8.22
2018/08/23 DOTA
[00:05]ChinaJoy现场 DOTA2玩家高呼“CN DOTA BEST DOTA”
2019/08/04 DOTA
python检查字符串是否是正确ISBN的方法
2015/07/11 Python
OpenCV实现人脸识别
2017/04/07 Python
批量获取及验证HTTP代理的Python脚本
2017/04/23 Python
在python中利用GDAL对tif文件进行读写的方法
2018/11/29 Python
python判断一个数是否能被另一个整数整除的实例
2018/12/12 Python
Python3.7 读取 mp3 音频文件生成波形图效果
2019/11/05 Python
Html5游戏开发之乒乓Ping Pong游戏示例(二)
2013/01/21 HTML / CSS
Html5 Geolocation获取地理位置信息实例
2016/12/09 HTML / CSS
Reebok俄罗斯官方网上商店:购买锐步运动服装和鞋子
2016/09/26 全球购物
介绍一下Python下range()函数的用法
2013/11/07 面试题
给老婆的搞笑检讨书
2014/01/12 职场文书
股东出资证明书范例
2014/10/04 职场文书
作文批改评语
2014/12/25 职场文书
篮球比赛通讯稿
2015/07/18 职场文书