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)

 

}

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。