• 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)

    }

  • 相关阅读:
    CSS笔记
    WebStorm快捷键
    单例模式详解
    JS正则表达式
    Java NIO 详解(二)
    Java NIO 详解(一)
    【Java并发编程】之十六:深入Java内存模型——happen-before规则及其对DCL的分析(含代码)
    Go 普通LOG输出
    Go TCP网路程序编写
    Go 语言官方包函数中文翻译
  • 原文地址:https://www.cnblogs.com/yanjialin/p/4100840.html
Copyright © 2020-2023  润新知