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 相关文章推荐
基于jquery实现状态限定编辑的代码
Feb 11 Javascript
javascript中的startWith和endWith的几种实现方法
May 07 Javascript
javascript之typeof、instanceof操作符使用探讨
May 19 Javascript
javascript中Number对象的toString()方法分析
Dec 20 Javascript
jQuery使用之设置元素样式用法实例
Jan 19 Javascript
jquery手风琴特效插件
Feb 04 Javascript
微信小程序loading组件显示载入动画用法示例【附源码下载】
Dec 09 Javascript
p5.js入门教程和基本形状绘制
Mar 15 Javascript
详解如何给React-Router添加路由页面切换时的过渡动画
Apr 25 Javascript
解决webpack多页面内存溢出的方法示例
Oct 08 Javascript
Vue-cli3项目引入Typescript的实现方法
Oct 18 Javascript
Jquery cookie插件实现原理代码解析
Aug 04 jQuery
详解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
php记录日志的实现代码
2011/08/08 PHP
php操作JSON格式数据的实现代码
2011/12/24 PHP
详解Yii2高级版引入bootstrap.js的一个办法
2017/03/21 PHP
php 二维数组快速排序算法的实现代码
2017/10/17 PHP
PHP命名空间与自动加载类详解
2018/09/04 PHP
php写入文件不覆盖的实例讲解
2019/09/17 PHP
javascript 混合的构造函数和原型方式,动态原型方式
2009/12/07 Javascript
深入理解JavaScript定时机制
2010/10/29 Javascript
JavaScript初学者应注意的七个细节详细介绍
2012/12/27 Javascript
jQuery取得select选择的文本与值的示例
2013/12/09 Javascript
js形成页面的一种遮罩效果实例代码
2014/01/04 Javascript
JS+CSS实现感应鼠标渐变显示DIV层的方法
2015/02/20 Javascript
jQuery.prop() 使用详解
2015/07/19 Javascript
JavaScript中rem布局在react中的应用
2015/12/09 Javascript
对Js OOP编程 创建对象的一些全面理解
2016/07/26 Javascript
H5用户注册表单页 注册模态框!
2016/09/17 Javascript
jQuery实现图片轮播效果代码
2016/09/27 Javascript
AngularJS的脏检查深入分析
2017/04/22 Javascript
JS回调函数基本定义与用法实例分析
2017/05/24 Javascript
VUE element-ui 写个复用Table组件的示例代码
2017/11/18 Javascript
JSON字符串操作移除空串更改key/value的介绍
2019/01/05 Javascript
JavaScript数组去重的几种方法
2019/04/07 Javascript
详尽讲述用Python的Django框架测试驱动开发的教程
2015/04/22 Python
python对数组进行反转的方法
2015/05/20 Python
基于pytorch 预训练的词向量用法详解
2020/01/06 Python
python add_argument()用法解析
2020/01/29 Python
Python读写压缩文件的方法
2020/07/30 Python
Python操作Excel的学习笔记
2021/02/18 Python
可靠的数据流传输TCP
2016/03/15 面试题
学习雷锋精神心得体会范文
2014/03/12 职场文书
个人担保书范文
2014/05/20 职场文书
五月的鲜花活动方案
2014/08/21 职场文书
2015年监理工作总结范文
2015/04/07 职场文书
教师节大会主持词
2015/07/06 职场文书
入党宣誓大会后的感想
2015/08/10 职场文书
Mysql 设置boolean类型的操作
2021/06/04 MySQL