zoukankan      html  css  js  c++  java
  • js学习总结----js中的三个循环

    一、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;
                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>
    View Code
  • 相关阅读:
    C# 类 根据属性名称取属性值
    WebService WCF 契约的解释
    NHibenate xml 数据库配置 说明
    使Spring.NET的IOC容器支持动态加载的程序集
    知识点滴:持久层,DAO,API,DAL,BLL,DLL,csproj,sln
    spring.net nhibernate 分布布式事务(下)
    简明教程 C# Webservice实例
    C# 中 以 &# 打头的 编码 是: html 编码解码地址 转换
    spring.net 结合简单三层实例
    关于行号输出的简单命令
  • 原文地址:https://www.cnblogs.com/diasa-fly/p/7049664.html
Copyright © 2011-2022 走看看