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生成GUID的多种算法小结
Aug 18 Javascript
使用delegate方法为一个tr标签加一个链接
Jun 27 Javascript
jQuery实现磁力图片跟随效果完整示例
Sep 16 Javascript
js实现点击按钮弹出上传文件的窗口
Dec 23 Javascript
微信小程序 数据封装,参数传值等经验分享
Jan 09 Javascript
简单的vue-resourse获取json并应用到模板示例
Feb 10 Javascript
vuejs2.0实现分页组件使用$emit进行事件监听数据传递的方法
Feb 22 Javascript
详解vue-cli本地环境API代理设置和解决跨域
Sep 05 Javascript
JS动态添加的div点击跳转到另一页面实现代码
Sep 30 Javascript
Angular2.0实现modal对话框的方法示例
Feb 18 Javascript
jquery radio 动态控制选中失效问题的解决方法
Feb 28 jQuery
jQuery阻止事件冒泡实例分析
Jul 03 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
基于mysql的论坛(2)
2006/10/09 PHP
PHP 工厂模式使用方法
2010/05/18 PHP
在CentOS上搭建LAMP+vsftpd环境的简单指南
2015/08/01 PHP
微信小程序 消息推送php服务器验证实例详解
2017/03/30 PHP
PHP自定义函数实现数组比较功能示例
2017/10/19 PHP
ThinkPHP3.2.3框架Memcache缓存使用方法实例总结
2019/04/15 PHP
PHP过滤器 filter_has_var() 函数用法实例分析
2020/04/23 PHP
jquery下jstree简单应用 - v1.0
2011/04/14 Javascript
jquery操作对象数组元素方法详解
2014/11/26 Javascript
jquery实现像栅栏一样左右滑出式二级菜单效果代码
2015/08/24 Javascript
Vuex之理解Store的用法
2017/04/19 Javascript
js中变量的连续赋值(实例讲解)
2017/07/08 Javascript
jQuery实现表单动态添加与删除数据操作示例
2018/07/03 jQuery
vue-cli3.0如何使用CDN区分开发、生产、预发布环境
2018/11/22 Javascript
Vue路由之JWT身份认证的实现方法
2019/08/26 Javascript
简单分析js中的this的原理
2019/08/31 Javascript
IntelliJ IDEA编辑器配置vue高亮显示
2019/09/26 Javascript
Vuex实现数据增加和删除功能
2019/11/11 Javascript
python使用两种发邮件的方式smtp和outlook示例
2017/06/02 Python
Python微信企业号开发之回调模式接收微信端客户端发送消息及被动返回消息示例
2017/08/21 Python
python+django+sql学生信息管理后台开发
2018/01/11 Python
python中字符串内置函数的用法总结
2018/09/13 Python
python re库的正则表达式入门学习教程
2019/03/08 Python
python使用协程实现并发操作的方法详解
2019/12/27 Python
PyCharm无法识别PyQt5的2种解决方法,ModuleNotFoundError: No module named 'pyqt5'
2020/02/17 Python
Python文字截图识别OCR工具实例解析
2020/03/05 Python
用Python自动清理电脑内重复文件,只要10行代码(自动脚本)
2021/01/09 Python
css 如何让背景图片拉伸填充避免重复显示
2013/07/11 HTML / CSS
意大利奢华内衣制造商:Cosabella
2017/08/29 全球购物
捷克家电和家具购物网站:OKAY.cz
2020/07/23 全球购物
教师学习群众路线心得体会
2014/11/04 职场文书
2015年清明节活动总结
2015/02/09 职场文书
病危通知书样本
2015/04/17 职场文书
2015年乡镇科普工作总结
2015/05/13 职场文书
安娜卡列尼娜观后感
2015/06/11 职场文书
为什么 Nginx 比 Apache 更牛逼
2021/03/31 Servers