js 闭包利用

<p>1111</p>
<p>2222</p>
<p>3333</p>

点击每一个 p 标签之后 会显示该标签在整个数组中的index值,所可以实现的方法有多种,以下为常见的几种:

一、

window.onload = function(){

var pAry = document.getElementsByTagName("p");
for( var i=0; i<pAry.length; i++ ) {
  pAry[i].onclick = function(arg) {
    return function(){
      alert(arg);
    };
  }(i);
}
};

 

二、

window.onload = function(){
var pAry = document.getElementsByTagName("p");
for( var i=0; i<pAry.length; i++ ) {
  (function(i){
    pAry[i].onclick = function() {
      alert(i);
    }
  })(i);
}
};

 

原文  http://www.jb51.net/article/26553.htm

 

你可能感兴趣的:(js)