zoukankan      html  css  js  c++  java
  • JS闭包解决方案

    1.闭包:延长变量的作用域和保存随时改变的值

    代码:

    <ul>  

          <li><a href="#">点击第0个链接</a></li>  

          <li><a href="#">点击第1个链接</a></li>  

          <li><a href="#">点击第2个链接</a></li>  

          <li><a href="#">点击第3个链接</a></li>  

          <li><a href="#">点击第4个链接</a></li>  

    </ul>

    var links = document.getElementsByTagName('a');

    方法1:

     function closureTest(num){

               return function(){

                     alert("你点击了第" + num + "个链接");

                   }

                }

     for(var i=0;i<links.length;i++){

              links[i].onclick = closureTest(i);

          }

    方法2:

    for(var i=0;i<links.length;i++){

          links[i].onclick = (function(i){

                  return function(){

                         alert("你点击了第" + i + "个链接");

                 };

          })(i)

    方法3:

    //     (function(i){

    //             links[i].onclick = function(){

    //                     alert("你点击了第" + i + "个链接");

    //                 };

    //          })(i)

    }

  • 相关阅读:
    在线思维导图、UML
    SpringBoot定时任务
    SpringBoot邮件发送
    SpringBoot执行异步任务
    banner.txt
    SpringBoot Swagger3.0配置
    SpringBoot durid监控配置
    SpringBoot使用Shiro
    页面LOADING效果
    vue 阻止el-radio事件冒泡
  • 原文地址:https://www.cnblogs.com/yanjialin/p/4100840.html
Copyright © 2011-2022 走看看