详谈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 相关文章推荐
Prototype使用指南之selector.js说明
Oct 26 Javascript
基于jquery的实现简单的表格中增加或删除下一行
Aug 01 Javascript
基于jquery实现的定时显示与隐藏div广告的实现代码
Aug 22 Javascript
ExtJS的拖拽效果示例
Dec 09 Javascript
js采用map取到id集合组并且实现点击一行选中一行
Dec 16 Javascript
JS实现超精简的链接列表在固定区域内滚动效果代码
Nov 04 Javascript
JS折半插入排序算法实例
Dec 02 Javascript
jquery实现文本框textarea自适应高度
Mar 09 Javascript
Bootstrap框架动态生成Web页面文章内目录的方法
May 12 Javascript
jQuery内容过滤选择器用法示例
Sep 09 Javascript
微信小程序入门教程
Nov 18 Javascript
对于js垃圾回收机制的理解
Sep 14 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文件操作实现代码分享
2011/09/01 PHP
深入解析php中的foreach问题
2013/06/30 PHP
浅谈php中curl、fsockopen的应用
2016/12/10 PHP
超强多功能php绿色集成环境详解
2017/01/25 PHP
PHP+MySQL实现模糊查询员工信息功能示例
2018/06/01 PHP
php闭包中使用use声明变量的作用域实例分析
2018/08/09 PHP
可输入的下拉框
2006/06/19 Javascript
js与C#进行时间戳转换
2014/11/14 Javascript
PHP使用方法重载实现动态创建属性的get和set方法
2014/11/17 Javascript
JavaScript使用addEventListener添加事件监听用法实例
2015/06/01 Javascript
简介JavaScript中的setDate()方法的使用
2015/06/11 Javascript
js强制把网址设为默认首页
2015/09/29 Javascript
js微信分享API
2020/10/11 Javascript
js仿新浪微博消息发布功能
2017/02/17 Javascript
Node.js连接mongodb实例代码
2017/06/06 Javascript
vue 移动端适配方案详解
2018/11/15 Javascript
nodejs基础之buffer缓冲区用法分析
2018/12/26 NodeJs
微信小程序身份证验证方法实现详解
2019/06/28 Javascript
Element Carousel 走马灯的具体实现
2020/07/26 Javascript
解决python文件字符串转列表时遇到空行的问题
2017/07/09 Python
Python元组知识点总结
2019/02/18 Python
python多线程实现TCP服务端
2019/09/03 Python
Python数据分析模块pandas用法详解
2019/09/04 Python
python实现代码统计器
2019/09/19 Python
python3使用Pillow、tesseract-ocr与pytesseract模块的图片识别的方法
2020/02/26 Python
这段代码难道不该打印出56吗
2013/02/27 面试题
汽车运用工程毕业生自荐信
2013/10/29 职场文书
仓库保管员岗位职责
2013/12/20 职场文书
幼儿教师工作感言
2014/02/14 职场文书
五分钟演讲稿
2014/04/30 职场文书
银行领导班子四风对照检查材料
2014/09/27 职场文书
2015年度党员自我评价范文
2015/03/03 职场文书
mysql死锁和分库分表问题详解
2021/04/16 MySQL
Python爬虫入门案例之爬取二手房源数据
2021/10/16 Python
java实现面板之间切换功能
2022/06/10 Java/Android