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 相关文章推荐
24款非常有用的 jQuery 插件分享
Apr 06 Javascript
利用js实现前台动态添加文本框,后台获取文本框内容(示例代码)
Nov 25 Javascript
js中实现多态采用和继承类似的方法
Aug 22 Javascript
JavaScript Math.ceil 方法(对数值向上取整)
Jan 09 Javascript
JavaScript中的anchor()方法使用详解
Jun 08 Javascript
JavaScript验证Email(3种方法)
Sep 21 Javascript
分分钟玩转Vue.js组件(二)
Mar 01 Javascript
如何将 jQuery 从你的 Bootstrap 项目中移除(取而代之使用Vue.js)
Jul 17 jQuery
vue axios 表单提交上传图片的实例
Mar 16 Javascript
jQuery使用each遍历循环的方法
Sep 19 jQuery
vue spa应用中的路由缓存问题与解决方案
May 31 Javascript
javascript实现图片轮换动作方法
Aug 07 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
攻克CakePHP系列一 连接MySQL数据库
2008/10/22 PHP
php通过文件头检测文件类型通用代码类(zip,rar等)
2010/10/19 PHP
使用PHP遍历文件目录与清除目录中文件的实现详解
2013/06/24 PHP
PHP 正则表达式小结
2015/02/12 PHP
php实现有序数组打印或排序的方法【附Python、C及Go语言实现代码】
2016/11/10 PHP
PHP面向对象程序设计之对象生成方法详解
2016/12/02 PHP
PHP用正则匹配form表单中所有元素的类型和属性值实例代码
2017/02/28 PHP
PHP的简单跳转提示的实现详解
2019/03/14 PHP
jQuery.Validate验证库的使用介绍
2013/04/26 Javascript
一个JavaScript处理textarea中的字符成每一行实例
2014/09/22 Javascript
js实现鼠标划过给div加透明度的方法
2015/05/25 Javascript
JavaScript中解决多浏览器兼容性23个问题的快速解决方法
2016/05/19 Javascript
阿里云ecs服务器中安装部署node.js的步骤
2016/10/08 Javascript
ReactJs设置css样式的方法
2017/06/08 Javascript
React Native预设占位placeholder的使用
2017/09/28 Javascript
关于axios不能使用Vue.use()浅析
2018/01/12 Javascript
简化vuex的状态管理方案的方法
2018/06/02 Javascript
boostrap模态框二次弹出清空原有内容的方法
2018/08/10 Javascript
JS实现水平遍历和嵌套递归操作示例
2019/08/15 Javascript
原生javascript自定义input[type=radio]效果示例
2019/08/27 Javascript
浅谈Vue SSR中的Bundle的具有使用
2019/11/21 Javascript
Django项目基础配置和基本使用过程解析
2019/11/25 Python
解决pyecharts运行后产生的html文件用浏览器打开空白
2020/03/11 Python
关于python 跨域处理方式详解
2020/03/28 Python
详解python定时简单爬取网页新闻存入数据库并发送邮件
2020/11/27 Python
Python 转移文件至云对象存储的方法
2021/02/07 Python
使用Html5实现异步上传文件,支持跨域,带有上传进度条
2016/09/17 HTML / CSS
美国演唱会订票网站:Ticketmaster美国
2017/10/05 全球购物
三年大学生活自我鉴定
2014/01/21 职场文书
GMP办公室主任岗位职责
2014/03/14 职场文书
外语系毕业生求职自荐信
2014/04/12 职场文书
《蚕姑娘》教学反思
2014/04/15 职场文书
党支部创先争优活动总结
2014/08/28 职场文书
幼儿园三八妇女节活动总结
2015/02/06 职场文书
英雄儿女观后感
2015/06/09 职场文书
有关花店创业的计划书模板
2019/08/27 职场文书