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 相关文章推荐
javascript 变量作用域 代码分析
Jun 26 Javascript
JavaScript 对象链式操作测试代码
Apr 25 Javascript
jQuery :nth-child前有无空格的区别分析
Jul 11 Javascript
jQuery源码分析-05异步队列 Deferred 使用介绍
Nov 14 Javascript
Javascript实现图片轮播效果(二)图片序列节点的控制实现
Feb 17 Javascript
使用原生js写ajax实例(推荐)
May 31 Javascript
jQuery Easyui Treegrid实现显示checkbox功能
Aug 08 jQuery
详解微信小程序支付流程与梳理
Jul 16 Javascript
Vue CLI项目 axios模块前后端交互的使用(类似ajax提交)
Sep 01 Javascript
electron-vue开发环境内存泄漏问题汇总
Oct 10 Javascript
vue-iview动态新增和删除的方法
Jun 17 Javascript
vue实现两个组件之间数据共享和修改操作
Nov 12 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
php cache类代码(php数据缓存类)
2010/04/15 PHP
php实现批量压缩图片文件大小的脚本
2014/07/04 PHP
PHP常用处理静态操作类
2015/04/03 PHP
PHP扩展Memcache分布式部署方案
2015/12/06 PHP
解决php写入数据库乱码的问题
2019/09/17 PHP
jquery $.ajax各个事件执行顺序
2010/10/15 Javascript
原生js写的放大镜效果
2012/08/22 Javascript
jQuery实现单行文字间歇向上滚动源代码
2013/06/02 Javascript
jquery实现隐藏与显示动画效果/输入框字符动态递减/导航按钮切换
2013/07/01 Javascript
jQuery中find()方法用法实例
2015/01/07 Javascript
JS简单实现无缝滚动效果实例
2016/08/24 Javascript
ES6新特征数字、数组、字符串
2016/10/01 Javascript
浅谈jQuery before和insertBefore的区别
2016/12/04 Javascript
javascript中神奇的 Date对象小结
2017/10/12 Javascript
微信小程序实现指定显示行数多余文字去掉用省略号代替
2018/07/25 Javascript
JavaScript事件冒泡与事件捕获实例分析
2018/08/01 Javascript
Vue中控制v-for循环次数的实现方法
2018/09/26 Javascript
使用vuepress搭建静态博客的示例代码
2019/02/14 Javascript
vue移动端屏幕适配详解
2019/04/30 Javascript
微信小程序如何刷新当前界面的实现方法
2019/06/07 Javascript
[02:16]DOTA2超级联赛专访Burning 逆袭需要抓住机会
2013/06/24 DOTA
Python 时间操作例子和时间格式化参数小结
2014/04/24 Python
Python安装Imaging报错:The _imaging C module is not installed问题解决方法
2014/08/22 Python
Python 中pandas.read_excel详细介绍
2017/06/23 Python
pandas数据框,统计某列数据对应的个数方法
2018/04/11 Python
无法使用pip命令安装python第三方库的原因及解决方法
2018/06/12 Python
python实现word文档批量转成自定义格式的excel文档的思路及实例代码
2020/02/21 Python
在python下实现word2vec词向量训练与加载实例
2020/06/09 Python
娇韵诗法国官网:Clarins法国
2019/01/29 全球购物
如何清空Session
2015/02/23 面试题
客服工作职责
2013/12/11 职场文书
初中高效课堂实施方案
2014/02/26 职场文书
2014年两会学习心得体会
2014/03/10 职场文书
外国人聘用意向书
2014/04/01 职场文书
公司财务人员岗位职责
2015/04/14 职场文书
Win7/8.1用户可以免费升级到Windows 11系统吗?
2021/11/21 数码科技