zl程序教程

您现在的位置是:首页 >  后端

当前栏目

js的闭包的一个示例说明

JS 一个 说明 示例 闭包
2023-06-13 09:14:07 时间
复制代码代码如下:

functionoutside()
{
varmyVar=1;
returnfunction(){
alert(myVar);
}
}
vart=outside();
t();

js中某个函数的内部函数在该函数执行结束后仍然可以访问这个函数中定义的变量,这称为闭包(Closure)
下面例子是给三个锚anchor1,anchor2,anchor3添加onclick事件,可以预期的效果是点击锚点显示相应的锚点ID,实际上却都是显示"Myidisanchor4",这个就是闭包作用引起的逻辑上的bug,添加事件的函数执行完后i的值为4,
复制代码代码如下:

ADS.addEvent(window,"load",function(W3CEvent){m
for(vari=1;i<=3;i++){

varanchor=document.getElementById("anchor"+i);

ADS.addEvent(anchor,"click",function(){
alert("Myidisanchor"+i);
});
}
});