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 国际象棋棋盘 实现代码
Jun 26 Javascript
js判断FCKeditor内容是否为空的两种形式
May 14 Javascript
JavaScript 模拟类机制及私有变量的方法及思路
Jul 10 Javascript
jQuery jcrop插件截图使用方法
Nov 20 Javascript
利用jq让你的div居中的好方法分享
Nov 21 Javascript
jQuery表格列宽可拖拽改变且兼容firfox
Sep 03 Javascript
深入分析下javascript中的[]()+!
Jul 07 Javascript
jquery彩色投票进度条简单实例演示
Jul 23 Javascript
深入理解基于vue-cli的vuex配置
Jul 24 Javascript
vue中子组件的methods中获取到props中的值方法
Aug 27 Javascript
判断文字超过2行添加展开按钮,未超过则不显示,溢出部分显示省略号
Apr 28 Javascript
手写Vue源码之数据劫持示例详解
Jan 04 Vue.js
详解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执行速度全攻略(下)
2006/10/09 PHP
PHP Smarty生成EXCEL文档的代码
2008/08/23 PHP
详解php 使用Callable Closure强制指定回调类型
2017/10/26 PHP
滚动经典最新话题[prototype框架]下编写
2006/10/03 Javascript
js DOM模型操作
2009/12/28 Javascript
Javascript 类、命名空间、代码组织代码
2011/07/31 Javascript
javascript强大的日期函数代码分享
2013/09/04 Javascript
javascript使用prototype完成单继承
2014/12/24 Javascript
JavaScript 实现打印,打印预览,打印设置
2014/12/30 Javascript
在JavaScript中操作时间之getMonth()方法的使用
2015/06/10 Javascript
Extjs实现下拉菜单效果
2016/04/01 Javascript
AngularJS 工作原理详解
2016/08/18 Javascript
利用javascript实现的三种图片放大镜效果实例(附源码)
2017/01/23 Javascript
基于jQuery实现简单人工智能聊天室
2017/02/10 Javascript
jQuery Ajax全解析
2017/02/13 Javascript
ejsExcel模板在Vue.js项目中的实际运用
2018/01/27 Javascript
解决vue props 拿不到值的问题
2018/09/11 Javascript
仿ElementUI实现一个Form表单的实现代码
2019/04/23 Javascript
JavaScript 面向对象程序设计详解【类的创建、实例对象、构造函数、原型等】
2020/05/12 Javascript
js实现弹窗猜数字游戏
2020/11/26 Javascript
[27:53]2014 DOTA2华西杯精英邀请赛 5 24 NewBee VS iG
2014/05/26 DOTA
python改变日志(logging)存放位置的示例
2014/03/27 Python
Python线程详解
2015/06/24 Python
python实现搜索指定目录下文件及文件内搜索指定关键词的方法
2015/06/28 Python
django初始化数据库的实例
2018/05/27 Python
彻底搞懂 python 中文乱码问题(深入分析)
2020/02/28 Python
自荐信不宜过于夸大
2013/11/06 职场文书
中学教师管理制度
2014/01/14 职场文书
学生周末长期请假条
2014/02/15 职场文书
大学生个人实习的自我评价
2014/02/15 职场文书
环保项目建议书
2014/08/26 职场文书
法人授权委托书范本
2014/09/17 职场文书
小学少先队辅导员述职报告
2015/01/10 职场文书
2016年小学“感恩教师”主题队日活动总结
2016/04/01 职场文书
教您:房贷工资收入证明应该怎么写?
2019/08/19 职场文书
如何在pycharm中快捷安装pip命令(如pygame)
2021/05/31 Python