JS中的三个循环小结


Posted in Javascript onJune 20, 2017

一、for循环

四部曲:

1、设置初始值 var i = 0

2、设置循环执行条件 i < 5

3、执行循环体中的内容{ [循环体] } 包起来的部分

4、每一轮循环完成后都执行我们的i++累加操作

for(var i = 0;i<5;i++){
 console.log(i)
}

break/continue:在循环体中遇到这两个关键字,循环体中的后面的代码就不在执行了

break:在循环体中,出现break,整个循环就直接的结束了,i++最后的这个累加的操作也不执行了

continue:在循环体中,出现continue,当前这一轮的循环就结束了,继续下一轮的循环,i++继续执行 

for(var i = 0;i<10;i++){
 if(i<=5){
  i+=2;
  continue;
 }
 i+=3;
 break;
 console.log(i)//不执行
}
console.log(i)//9

 二、for in 循环

用来循环一个对象中的属性名和属性值的 

var object = {
 name:'小李',
 age:18,
 height:'170cm',
 hobby:'敲代码'
}
//对象中有多少组键值对,就循环几次
//顺序问题:首先循环数字的属性名(按照从小到大),再把剩下的属性名按照我们写得顺序循环
for(var key in object){
console.log(key);//每一次循环获取的属性名

console.log(object[key])// 获取属性值 在for in 中只能通过对象名[key]来获取 不能写obj.key
}

 

案例:表格隔行换色 (三元运算符满足条件如果有多个执行,可以加上括号,然后使用逗号分隔)

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>Document</title>
 <style>
  body,div,ul,li{
   margin:0;
   padding: 0;
   font-family: Arial;
   font-size:12px;
  }
  ul li{
   list-style:none;
  }
  #list{
   margin:10px auto 0;
   padding:10px;
   width:500px;
   border:1px solid #ddd;
   border-radius:10px;
   /*background: -webkit-linear-gradient(top left,#31b0d5,#67b168,#ac2925)*/
  }
  #list li{
   height:30px;
   line-height: 30px;
   cursor:pointer; 
  }
  .c1{
   background:#ddd;
  }
  .c2{
   background: #a6e1ec;
  }
  .c3{
   background: #67b168;
  }
 </style>
</head>
<body>
 <div id='list'>
  <ul>
   <li>11111111111111111111111111</li>
   <li>22222222222222222222222222</li>
   <li>33333333333333333333333333</li>
   <li>44444444444444444444444444</li>
   <li>55555555555555555555555555</li>
   <li>66666666666666666666666666</li>
   <li>11111111111111111111111111</li>
   <li>22222222222222222222222222</li>
   <li>33333333333333333333333333</li>
   <li>44444444444444444444444444</li>
   <li>55555555555555555555555555</li>
   <li>66666666666666666666666666</li>
  </ul>
 </div>
 <script type='text/javascript'>
  //原理:操作所有的li,让按照奇偶行的规律,改变他的class样式的属性值,奇数行是c1,偶数行是c2
  //通过元素的标签名获取一组元素
  // document.getElementsByTagName('元素的标签名字')
  //在整个文档中(获取的范围,上下文),我们通过元素的标签名来获取一组元素
  //获取整个文档的所有的li,他是一个集合,我们把这个集合叫做类数组(类似于数组)
  //并且类数组是对象数据类型的
  // var oLis = document.getElementsByTagName('li');
  //索引:就是代表当前是第几个元素的位置下标,索引是从0开始的
  //length:代表获取的集合的长度,或者是当前获取了多少li
  //通过dom方法获取到的类数组可以通过用.item(索引)来获取某一个
  var oList = document.getElementById('list');
  var oLis = oList.getElementsByTagName('li');
  for(var i = 0;i<oLis.length;i++){
   var oLi = oLis[i];
   i%2===0?oLi.className = 'c1':oLi.className='c2'
  }
 </script>
</body>
</html>

以上所述是小编给大家介绍的JS中的三个循环小结,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
JS简单循环遍历json数组的方法
Apr 22 Javascript
iscroll碰到Select无法选择下拉刷新的解决办法
May 21 Javascript
js获取所有checkbox的值的简单实例
May 30 Javascript
Bootstrap+jfinal实现省市级联下拉菜单
May 30 Javascript
vue2.0s中eventBus实现兄弟组件通信的示例代码
Oct 25 Javascript
深入浅析js原型链和vue构造函数
Oct 25 Javascript
微信小程序实现的日期午别医生排班表功能示例
Jan 09 Javascript
详解写好JS条件语句的5条守则
Feb 28 Javascript
vue实现滑动切换效果(仅在手机模式下可用)
Jun 29 Javascript
微信小程序实现点击图片放大预览
Oct 21 Javascript
selenium 反爬虫之跳过淘宝滑块验证功能的实现代码
Aug 27 Javascript
原生JS实现飞机大战小游戏
Jun 09 Javascript
详解Vue 方法与事件处理器
Jun 20 #Javascript
Vue Ajax跨域请求实例详解
Jun 20 #Javascript
详解webpack 入门总结和实践(按需异步加载,css单独打包,生成多个入口文件)
Jun 20 #Javascript
详解Angular的8个主要构造块
Jun 20 #Javascript
vue之数据交互实例代码
Jun 20 #Javascript
jquery加载单文件vue组件的方法
Jun 20 #jQuery
Angular.JS中select下拉框设置value的方法
Jun 20 #Javascript
You might like
apache集成php7.3.5的详细步骤
2019/06/20 PHP
对YUI扩展的Gird组件 Part-2
2007/03/10 Javascript
web前端开发也需要日志
2010/12/09 Javascript
关于extjs4如何获取grid修改后的数据的问题
2013/08/07 Javascript
我用的一些Node.js开发工具、开发包、框架等总结
2014/09/25 Javascript
JS实现进入页面时渐变背景色的方法
2015/02/25 Javascript
Bootstrap树形控件使用方法详解
2016/01/27 Javascript
AngularJS基础 ng-show 指令简单示例
2016/08/03 Javascript
微信小程序 图片宽高自适应详解
2017/05/11 Javascript
Vue计算属性的使用
2017/08/04 Javascript
vue如何判断dom的class
2018/04/26 Javascript
vue打包使用Nginx代理解决跨域问题
2018/08/27 Javascript
angular4中*ngFor不能对返回来的对象进行循环的解决方法
2018/09/12 Javascript
JavaScript 面向对象程序设计详解【类的创建、实例对象、构造函数、原型等】
2020/05/12 Javascript
nestjs返回给前端数据格式的封装实现
2021/02/22 Javascript
Python常用的日期时间处理方法示例
2015/02/08 Python
人工智能最火编程语言 Python大战Java!
2017/11/13 Python
解决django 新增加用户信息出现错误的问题
2019/07/28 Python
Python3.6 + TensorFlow 安装配置图文教程(Windows 64 bit)
2020/02/24 Python
django实现将后台model对象转换成json对象并传递给前端jquery
2020/03/16 Python
浅谈Tensorflow加载Vgg预训练模型的几个注意事项
2020/05/26 Python
Python如何安装第三方模块
2020/05/28 Python
TensorFlow-gpu和opencv安装详细教程
2020/06/30 Python
python 实现简单的计算器(gui界面)
2020/11/11 Python
Python利用socket模块开发简单的端口扫描工具的实现
2021/01/27 Python
html5的canvas实现3d雪花飘舞效果
2013/12/27 HTML / CSS
StubHub墨西哥:购买和出售您的门票
2016/09/17 全球购物
大女孩胸罩:Big Girls Bras
2016/12/15 全球购物
美国宠物护理专家:Revival Animal Health
2020/01/05 全球购物
size?法国官网:英国伦敦的球鞋精品店
2020/03/15 全球购物
PHP如何自定义函数
2016/09/16 面试题
《燕子专列》教学反思
2014/02/21 职场文书
《桃林那间小木屋》教学反思
2014/05/01 职场文书
代办委托书怎么写
2014/08/01 职场文书
《工作是最好的修行》读后感3篇
2019/12/13 职场文书
手写实现JS中的new
2021/11/07 Javascript