当前位置: 首页 > 图文教程 > 网络编程 > Javascript > js的闭包的一个示例说明

Javascript
学习JavaScript里面的变量的应用
内容拷贝增加版权信息的JavaScript代码
JS扩展Photoshop新功能
学习JS之简单语句的写法
Javascript 最简单检测网速的方法和应用
Javascript 编程规范
关于DOM事件模型的两件事
关于JavaScript开发时的五个小提示
用javascript来实现动画导航
AJAX技术介绍
Ajax程序设计入门
学习Ajax教程,详细了解Get与Post
关于Ajax responseText 的一点阐述
ajax中文乱码解决方法
AJAX中文问题总结
AJAX无刷新更新数据
很简单的javascript函数不刷新页面---刷新数据
利用XMLHTTP无刷新添加数据
用XMLHTTP Post/Get HTML页面时的中文乱码之完全Script解决方案
成功实现ajax,xmlhttp跨域访问

Javascript 中的 js的闭包的一个示例说明


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-12   浏览: 285 ::
收藏到网摘: n/a

js中 某个函数的内部函数在该函数执行结束后仍然可以访问这个函数中定义的变量,这称为闭包(Closure)
复制代码 代码如下:

function outside()
{
var myVar = 1;
return function (){
alert(myVar);
}
}
var t = outside();
t();

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

ADS.addEvent(window, 'load', function(W3CEvent) {m
for (var i=1 ; i<=3 ; i++ ) {
var anchor = document.getElementById('anchor' + i);
ADS.addEvent(anchor,'click',function() {
alert('My id is anchor' + i);
});
}
});