文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>JS 闭包

JS 闭包

时间:2010-09-16  来源:空逸云

很多时候.需要在循环的时候绑定元素事件.但实际上由于JS的机制问题,你绑定的代码是等到了你触发了事件时才引发.那么你的循环早就完成了.此时的调用肯定不是你想要的结果.

例如 

 


for (var i = 0; i < items.length; i++) {
      var item = $("<li ><a>" + i+ "</a></li>");
      item.bind("click", function(){ dosometion(i) ;});
      wIngreList.append(item);
 }

 

 

 可以百分百肯定.结果肯定不是你要.此时的i不再是你所需要的.而是items.length.那么怎么办呢?闭包可以完成我们想要的

定义一个闭包的"类" 


 


var closeFunc = function(i) {
            return function() {
                dosomething(this, i);
               //此Function等到事件触发时才执行,假如是click,那么this就是触发click的元素
            }
        }

 

 

 利用这个闭包类.就可以得到我们所想要的结果

 


item.bind("click", new closerFunc(items[i]));

 

 OK .大功告成!

  

 

 

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载