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 相关文章推荐
禁止F5等快捷键的JS代码
Mar 06 Javascript
javaScript 数值型和字符串型之间的转换
Jul 25 Javascript
javascript下利用arguments实现string.format函数
Aug 24 Javascript
JavaScript高级程序设计(第3版)学习笔记4 js运算符和操作符
Oct 11 Javascript
Js数组的操作push,pop,shift,unshift等方法详细介绍
Dec 28 Javascript
js中typeof的用法汇总
Dec 12 Javascript
基于jquery的simpleValidate简易验证插件
Jan 31 Javascript
Javascript中的String对象详谈
Mar 03 Javascript
javascript每日必学之循环
Feb 19 Javascript
JS中关于正则的巧妙操作
Aug 31 Javascript
JavaScript栈和队列相关操作与实现方法详解
Dec 07 Javascript
Vue切换Tab动态渲染组件的操作
Sep 21 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 水平的题目
2007/05/30 PHP
php类自动加载器实现方法
2015/07/28 PHP
Laravel使用memcached缓存对文章增删改查进行优化的方法
2016/10/08 PHP
浅谈laravel-admin的sortable和orderby使用问题
2019/10/03 PHP
PHP数组基本用法与知识点总结
2020/06/02 PHP
Nigma vs Alliance BO5 第三场2.14
2021/03/10 DOTA
jquery的Theme和Theme Switcher使用小结
2010/09/08 Javascript
jquery获得同源iframe内body下标签的值的方法
2014/09/25 Javascript
JS实现网页标题随机显示名人名言的方法
2015/11/03 Javascript
Jquery判断form表单数据是否变化
2016/03/30 Javascript
AngularJS实现用户登录状态判断的方法(Model添加拦截过滤器,路由增加限制)
2016/12/12 Javascript
如何通过非数字与字符的方式实现PHP WebShell详解
2017/07/02 Javascript
VUE中使用Vue-resource完成交互
2017/07/21 Javascript
jQuery插件DataTables分页开发心得体会
2017/08/22 jQuery
基于ES6作用域和解构赋值详解
2017/11/03 Javascript
jquery+css3实现熊猫tv导航代码分享
2018/02/12 jQuery
layui数据表格重载实现往后台传参
2019/11/15 Javascript
使用preload预加载页面资源时注意事项
2020/02/03 Javascript
vue渲染方式render和template的区别
2020/06/05 Javascript
Vue+Element自定义纵向表格表头教程
2020/10/26 Javascript
[49:54]Ti4 循环赛第三日 LGD vs Titan
2014/07/12 DOTA
Python微信企业号开发之回调模式接收微信端客户端发送消息及被动返回消息示例
2017/08/21 Python
Python将列表数据写入文件(txt, csv,excel)
2019/04/03 Python
TensorFlow tf.nn.conv2d_transpose是怎样实现反卷积的
2020/04/20 Python
Python sublime安装及配置过程详解
2020/06/29 Python
python lambda的使用详解
2021/02/26 Python
应届生服装设计自我评价
2013/09/20 职场文书
挂牌仪式主持词
2014/03/20 职场文书
英文请假条
2014/04/11 职场文书
主要负责人任命书
2014/06/06 职场文书
和谐社区口号
2014/06/19 职场文书
创建绿色学校先进个人材料
2014/08/20 职场文书
讲文明知礼仪演讲稿
2014/09/13 职场文书
2014年社区居委会主任重阳节讲话稿
2014/09/25 职场文书
继承公证书格式
2015/01/26 职场文书
Java并发编程必备之Future机制
2021/06/30 Java/Android