zoukankan      html  css  js  c++  java
  • 闭包之实例之所探

    <html >
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>闭包演示</title>
    <script src="js/jquery-2.1.1.min.js"></script>
    <script type="text/javascript">

    window.onload=function(){
    function init() {
    var pAry = document.getElementsByTagName("p");
    cars=["red","green","yellow","blue","pink"];
    //console.log(cars[0]);
    for( var i=0; i<pAry.length; i++ ) {
    pAry[i].onclick = function(ii) {
    return function(){
    console.log(cars[ii]);
    pAry[ii].style.color=cars[ii];
    /*pAry[j] = function(num){
    return function(){
    pAry[num].style.color=cars[j];
    };
    }(j);*/
    }
    }(i)
    }
    }
    init()

    }

    //var aLi = oUl.getElementsByTagName("li");


    </script>
    </head>
    <body > .style.cssText="20px; border:solid 1px #f00;";
    <p>产品一</p>
    <p>产品二</p>
    <p>产品三</p>
    <p>产品四</p>
    <p>产品五</p>
    <div id="w">
    <li></li>
    <li></li>
    <li></li>
    <li></li>
    <li></li>
    <li></li>
    </div>
    </body>
    </html>

    这种,你想着每一次i都会循环,实际上i只会打印最后一个数据

    例子2

    <html >
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>闭包演示</title>
    <script src="js/jquery-2.1.1.min.js"></script>
    <script type="text/javascript">

    $(function(){


    function init() {

    var pAry =$('ul span') ;
    var aLi = document.getElementsByTagName("ul");
    //console.log(aLi);
    cars=["red","green","yellow","blue","pink","orange"];
    //console.log(cars[0]);
        for( var i=0; i<pAry.length; i++ ) {
            pAry[i].onclick = function(ii) {
            return function(){    
            //console.log(cars[ii]);
            pAry[ii].style.color=cars[ii];
        /*pAry[j] = function(num){
        return function(){
        pAry[num].style.color=cars[j];
        };
        }(j);*/    
        }
        }(i)
        }
    }
    init()

    })

    //var aLi = oUl.getElementsByTagName("li");


    </script>
    </head>
    <body > .style.cssText="20px; border:solid 1px #f00;";
    <ul  class="ws"><span>产品一</span>
        <li class="ww1">产品1_1</li>
        <li class="ww2">产品1_1</li>
        <li class="ww3">产品1_1</li>
        <li class="ww4">产品1_1</li>
        <li class="ww5">产品1_1</li>
    </ul>     
    <ul  class="ws"><span>产品二</span>
        <li class="ww1">产品2_1</li>
        <li class="ww2">产品2_1</li>
        <li class="ww3">产品2_1</li>
        <li class="ww4">产品2_1</li>
        <li class="ww5">产品2_1</li>
    </ul>  
    <ul class="ws"><span>产品三</span>
        <li class="ww1">产品3_1</li>
        <li class="ww2">产品3_1</li>
        <li class="ww3">产品3_1</li>
        <li class="ww4">产品3_1</li>
        <li class="ww5">产品3_1</li>
    </ul>  
    <ul  class="ws"><span>产品四</span>
        <li class="ww1">产品4_1</li>
        <li class="ww2">产品4_1</li>
        <li class="ww3">产品4_1</li>
        <li class="ww4">产品4_1</li>
        <li class="ww5">产品4_1</li>
    </ul>  
    <ul  class="ws"><span>产品五</span>
        <li class="ww1">产品5_1</li>
        <li class="ww2">产品5_1</li>
        <li class="ww3">产品5_1</li>
        <li class="ww4">产品5_1</li>
        <li class="ww5">产品5_1</li>
    </ul>  
    <ul  class="ws"><span>产品六</span>
        <li class="ww1">产品6_1</li>
        <li class="ww2">产品6_1</li>
        <li class="ww3">产品6_1</li>
        <li class="ww4">产品6_1</li>
        <li class="ww5">产品6_1</li>
    </ul>    
    </div>
    </body>
    </html>

     双层闭包循环嵌套

  • 相关阅读:
    SPOJ1043 GSS1(线段树)
    cf1028C. Rectangles(前缀和)
    cf559C. Gerald and Giant Chess(容斥原理)
    五校联考解题报告
    BZOJ1853: [Scoi2010]幸运数字(容斥原理)
    使用spring-amqp结合使用rabbitmq
    instanceof关键字
    qml学习:对象和属性
    [置顶] 推荐12款很棒的HTML5开发框架和开发工具
    linux系统开机过程描述
  • 原文地址:https://www.cnblogs.com/lsc-boke/p/6089106.html
Copyright © 2011-2022 走看看