详谈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 08 Javascript
Javascript alert消息换行的方法
Aug 07 Javascript
javascript随机将第一个dom中的图片添加到第二个div中示例
Oct 08 Javascript
js获取当前页面的url网址信息
Jun 12 Javascript
javascript对中文按照拼音排序代码
Aug 20 Javascript
Node.js DES加密的简单实现
Jul 07 Javascript
JS类的定义与使用方法深入探索
Nov 26 Javascript
bootstrap表单示例代码分享
May 18 Javascript
jQuery+SpringMVC中的复选框选择与传值实例
Jan 08 jQuery
JavaScript深拷贝和浅拷贝概念与用法实例分析
Jun 07 Javascript
jquery 动态遍历select 赋值的实例
Sep 12 jQuery
Vue结合后台导入导出Excel问题详解
Feb 19 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中单引号与双引号的区别分析
2014/08/19 PHP
PHP多进程编程实例
2014/10/15 PHP
postman的安装与使用方法(模拟Get和Post请求)
2018/08/06 PHP
PHP CURL中传递cookie的方法步骤
2019/05/09 PHP
jQuery News Ticker 基于jQuery的即时新闻行情展示插件
2011/11/05 Javascript
js实现简单的星级选择器提交效果适用于评论等
2013/10/18 Javascript
JavaScript实现数字数组正序排列的方法
2015/04/06 Javascript
深入浅析search 搜索框的写法
2016/08/02 Javascript
jQuery实现智能判断固定导航条或侧边栏的方法
2016/09/04 Javascript
那些精彩的JavaScript代码片段
2017/01/12 Javascript
JavaScript无阻塞加载和defer、async详解
2017/02/26 Javascript
实现微信小程序的wxml文件和wxss文件在webstrom的支持
2017/06/12 Javascript
vue2.0实现分页组件的实例代码
2017/06/22 Javascript
详解如何在webpack中做预渲染降低首屏空白时间
2018/08/22 Javascript
详解vuex中action何时完成以及如何正确调用dispatch的思考
2019/01/21 Javascript
JS+html5实现异步上传图片显示上传文件进度条功能示例
2019/11/09 Javascript
[01:08]DOTA2“血战之命”预告片
2017/08/12 DOTA
Python3基础之函数用法
2014/08/13 Python
python通过exifread模块获得图片exif信息的方法
2015/03/16 Python
浅析Python基础-流程控制
2016/03/18 Python
python的numpy模块安装不成功简单解决方法总结
2017/12/23 Python
Python简单计算数组元素平均值的方法示例
2017/12/26 Python
selenium+python实现自动登录脚本
2018/04/22 Python
Python实现常见的回文字符串算法
2018/11/14 Python
Python之time模块的时间戳,时间字符串格式化与转换方法(13位时间戳)
2019/08/12 Python
利用python实现AR教程
2019/11/20 Python
Python动态导入模块和反射机制详解
2020/02/18 Python
Python爬取豆瓣数据实现过程解析
2020/10/27 Python
html5 canvas的绘制文本自动换行的示例代码
2018/09/17 HTML / CSS
英国广泛的照明产品网站:Lights4living
2018/01/28 全球购物
Agoda台湾官网:国内外订房2折起
2018/03/20 全球购物
银行服务明星推荐材料
2014/05/29 职场文书
助人为乐模范事迹材料
2014/06/02 职场文书
员工工作自我评价
2014/09/26 职场文书
三十年同学聚会致辞
2015/07/28 职场文书
SQLServer 错误: 15404,无法获取有关 Windows NT 组/用户 WIN-8IVSNAQS8T7\Administrator 的信息
2021/06/30 SQL Server