日期:2014-05-16 浏览次数:20533 次
? 对于JAVASCRIPT而言,无疑必包是其重要的组成部分!没有必包又怎么能够存在真正意义上的回调方法呢!但是在初学者刚刚接触必包概念的时候往往被其搞的云里雾里,不知所踪!下面通过必包概念和例子分析下必包!
必包意味着内层的函数可以引用存在于包围它的函数内的变量(即使外层函数的执行已经终止-回调方法),在循环中使用必包,这个必包允许你引用父函数中的变量,但提供的值并非是该函数创建时的值,而是在父函数内的最终值。
function test(){ var textObj = document.getElementById("text"); var events = ["click","keypress"]; for(var i = 0; i < events.length; i++){ (function(){ var item = events[i]; textObj["on" + events[i]] = function(){ alert("你执行了"+item+"操作"); }; })(); } } window.onload=test;
?
通过上例我们不难看出其主要实现的功能是为text文本框添加一个单击和键盘按下事件,但是在添加事件的实现方式上却略有不同,首先构建一个events数组绑定多个需要添加的事件名称,然后对这个数组进行循环遍历。在每次遍历中都要触发一个对象的存在,也就是自执行函数,这样我们将events[i]每次进行记录给item变量,这样这个变量就是依附于自执行函数对象的变量,是在每个对象中独立存在的!随意每次回调弹出对话框的时候这个回调函数总是依附于一个自执行对象的外部变量环境,故而可以实现不同的操作出现不同item值的效果!