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实现划词标记+划词搜索功能
Mar 06 Javascript
JavaScript window.setTimeout() 的详细用法
Nov 04 Javascript
JavaScript作用域与作用域链深入解析
Dec 06 Javascript
javascript实现复制与粘贴操作实例
Oct 16 Javascript
js实现键盘Enter键提交表单的方法
May 27 Javascript
JavaScript判断用户名和密码不能为空的实现代码
May 16 Javascript
ionic2打包android时gradle无法下载的解决方法
Apr 05 Javascript
EasyUI框架 使用Ajax提交注册信息的实现代码
Sep 27 Javascript
深入理解Angular4订阅(Subscribe)与取消
Nov 22 Javascript
使用javascript做在线算法编程
May 25 Javascript
使用FormData实现上传多个文件
Dec 04 Javascript
jQuery实现的记住帐号密码功能完整示例
Aug 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
正则表达式语法
2006/10/09 Javascript
PHP实现把文本中的URL转换为链接的auolink()函数分享
2014/07/29 PHP
php性能分析之php-fpm慢执行日志slow log用法浅析
2016/10/17 PHP
基于jQuery的图片大小自动适应实现代码
2010/11/17 Javascript
js中判断Object、Array、Function等引用类型对象是否相等
2012/08/29 Javascript
基于jquery的文章中所有图片width大小批量设置方法
2013/08/01 Javascript
js兼容pc端浏览器并有多种弹出小提示的手机端浮层控件实例
2015/04/29 Javascript
JavaScript中使用sencha gridpanel 编辑单元格、改变单元格颜色
2015/11/26 Javascript
javascript数据结构之串的概念与用法分析
2017/04/12 Javascript
基于vue中对鼠标划过事件的处理方式详解
2018/08/22 Javascript
在angularJs中进行数据遍历的2种方法
2018/10/08 Javascript
vue-cli3搭建项目的详细步骤
2018/12/05 Javascript
每周一练 之 数据结构与算法(Stack)
2019/04/16 Javascript
中高级前端必须了解的JS中的内存管理(推荐)
2019/07/04 Javascript
javascript实现图片轮播代码
2019/07/09 Javascript
[03:08]TI9战队档案 - Vici Gaming
2019/08/20 DOTA
Django中使用locals()函数的技巧
2015/07/16 Python
利用Python-iGraph如何绘制贴吧/微博的好友关系图详解
2017/11/02 Python
小米5s微信跳一跳小程序python源码
2018/01/08 Python
Python中的pack和unpack的使用
2018/03/12 Python
解决pandas 作图无法显示中文的问题
2018/05/24 Python
Django框架中间件(Middleware)用法实例分析
2019/05/24 Python
Python获取当前脚本文件夹(Script)的绝对路径方法代码
2019/08/27 Python
使用Python为中秋节绘制一块美味的月饼
2019/09/11 Python
Python进阶之使用selenium爬取淘宝商品信息功能示例
2019/09/16 Python
Python浮点数四舍五入问题的分析与解决方法
2019/11/19 Python
python pandas.DataFrame.loc函数使用详解
2020/03/26 Python
HTML5高仿微信聊天、微信聊天表情|对话框|编辑器功能
2018/04/23 HTML / CSS
自我鉴定200字
2013/10/28 职场文书
体育教师自荐信范文
2013/12/16 职场文书
秘书英文求职信
2014/04/16 职场文书
微笑面对生活演讲稿
2014/05/13 职场文书
2015年扫黄打非工作总结
2015/05/13 职场文书
pytorch损失反向传播后梯度为none的问题
2021/05/12 Python
MySQL中distinct与group by之间的性能进行比较
2021/05/26 MySQL
Python 数据可视化之Seaborn详解
2021/11/02 Python