详谈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获取input的value问题说明
Aug 19 Javascript
jQuery实现页面滚动时层智能浮动定位实例探讨
Mar 29 Javascript
js hover 定时器(实例代码)
Nov 12 Javascript
使用js显示当前时间示例
Mar 02 Javascript
html的DOM中document对象images集合用法实例
Jan 21 Javascript
原生js实现的贪吃蛇网页版游戏完整实例
May 18 Javascript
Windows系统下Node.js的简单入门教程
Jun 23 Javascript
webpack进阶——缓存与独立打包的用法
Aug 02 Javascript
vue.js中proxyTable 转发请求的实现方法
Sep 20 Javascript
angular中两种表单的区别(响应式和模板驱动表单)
Dec 06 Javascript
JS实现的小火箭发射动画效果示例
Dec 08 Javascript
django js 实现表格动态标序号的实例代码
Jul 12 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
将文件夹压缩成zip文件的php代码
2009/12/14 PHP
php 文章采集正则代码
2009/12/28 PHP
PHP、Nginx、Apache中禁止网页被iframe引用的方法
2020/10/01 PHP
ThinkPHP后台首页index使用frameset时的注意事项分析
2014/08/22 PHP
php使用PDO获取结果集的方法
2017/02/16 PHP
thinkPHP分页功能实例详解
2017/05/05 PHP
laravel框架添加数据,显示数据,返回成功值的方法
2019/10/11 PHP
Dom 是什么的详细说明
2010/10/25 Javascript
jQuery JSON的解析方式分享
2011/04/05 Javascript
JavaScript可否多线程? 深入理解JavaScript定时机制
2012/05/23 Javascript
关于scrollLeft,scrollTop的浏览器兼容性测试
2013/03/19 Javascript
鼠标移到图片上变大显示而不是放大镜效果
2014/06/15 Javascript
自己动手手写jQuery插件总结
2015/01/20 Javascript
JavaScript常用的弹出广告及背投广告实现方法
2015/02/06 Javascript
Bootstrap开发实战之第一次接触Bootstrap
2016/06/02 Javascript
Javascript实现图片加载从模糊到清晰显示的方法
2016/06/21 Javascript
浅谈js函数的多种定义方法与区别
2016/11/29 Javascript
使用vue-resource进行数据交互的实例
2017/09/02 Javascript
详解从react转职到vue开发的项目准备
2019/01/14 Javascript
微信小程序实现授权登录
2019/05/15 Javascript
vc6编写python扩展的方法分享
2014/01/17 Python
简单介绍Python中利用生成器实现的并发编程
2015/05/04 Python
分享一个简单的python读写文件脚本
2017/11/25 Python
分享vim python缩进等一些配置
2018/07/02 Python
Python全排列操作实例分析
2018/07/24 Python
使用tensorflow实现线性回归
2018/09/08 Python
深入浅析python的第三方库pandas
2020/02/13 Python
Python导入模块包原理及相关注意事项
2020/03/25 Python
mac系统下安装pycharm、永久激活、中文汉化详细教程
2020/11/24 Python
详解修改Anaconda中的Jupyter Notebook默认工作路径的三种方式
2021/01/24 Python
python爬虫用request库处理cookie的实例讲解
2021/02/20 Python
详解css3中dispaly的Grid布局与Flex布局
2020/09/11 HTML / CSS
澳大利亚领先的皮肤诊所:Skin Matrix(抗衰老、痤疮专家、药妆护肤)
2018/05/20 全球购物
人工作失职检讨书
2015/05/05 职场文书
nginx 防盗链防爬虫配置详解
2021/03/31 Servers
JS代码编译器Monaco使用方法
2021/06/11 Javascript