js的闭包的一个示例说明


Posted in Javascript onNovember 18, 2008
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); 
}); 
} 
});
Javascript 相关文章推荐
IE浏览器打印的页眉页脚设置解决方法
Dec 08 Javascript
jQuery-Easyui 1.2 实现多层菜单效果的代码
Jan 13 Javascript
JavaScript类属性的访问方式详解
Feb 11 Javascript
jquery实现不包含当前项的选择器实例
Jun 25 Javascript
Bootstrap Table的使用总结
Oct 08 Javascript
遍历json 对象的属性并且动态添加属性的实现
Dec 02 Javascript
jquery easyui DataGrid简单示例
Jan 23 Javascript
vue中的非父子间的通讯问题简单的实例代码
Jul 19 Javascript
浅谈AngularJs 双向绑定原理(数据绑定机制)
Dec 07 Javascript
vue2中的keep-alive使用总结及注意事项
Dec 21 Javascript
js实现数字从零慢慢增加到指定数字示例
Nov 07 Javascript
Vue全局事件总线你了解吗
Feb 24 Vue.js
Ext面向对象开发实践(续)
Nov 18 #Javascript
Javascript打印网页部分内容的脚本
Nov 17 #Javascript
js实现简单模态窗口,背景灰显
Nov 14 #Javascript
javascript 限制输入和粘贴(IE,firefox测试通过)
Nov 14 #Javascript
javascript 出生日期和身份证判断大全
Nov 13 #Javascript
Ajax,UTF-8还是GB2312 eval 还是execScript
Nov 13 #Javascript
刷新页面实现方式总结(HTML,ASP,JS)
Nov 13 #Javascript
You might like
php实现比较两个文件夹异同的方法
2015/06/18 PHP
PHP工程师VIM配置分享
2015/12/15 PHP
php 使用 __call实现重载功能示例
2019/11/18 PHP
js获取IFRAME当前的URL的方法
2013/11/13 Javascript
window.onload追加函数使用示例
2014/03/03 Javascript
Javascript实现单张图片浏览
2014/12/18 Javascript
jQuery中Form相关知识汇总
2015/01/06 Javascript
JavaScript中isPrototypeOf函数作用和使用实例
2015/06/01 Javascript
JavaScrip调试技巧之断点调试
2015/10/22 Javascript
解决npm安装Electron缓慢网络超时导致失败的问题
2018/02/06 Javascript
详解小程序如何动态绑定点击的执行方法
2019/11/26 Javascript
JS前端广告拦截实现原理解析
2020/02/17 Javascript
[15:09]DOTA2国际邀请赛采访专栏:Loda
2013/08/06 DOTA
[01:12]快闪回顾DOTA2亚洲邀请赛(DAC) 静候2018新征程开启
2018/03/11 DOTA
Python2.7基于淘宝接口获取IP地址所在地理位置的方法【测试可用】
2017/06/07 Python
Python基础练习之用户登录实现代码分享
2017/11/08 Python
Python设计模式之组合模式原理与用法实例分析
2019/01/11 Python
Django为窗体加上防机器人的验证码功能过程解析
2019/08/14 Python
Python列表原理与用法详解【创建、元素增加、删除、访问、计数、切片、遍历等】
2019/10/30 Python
Python 中@property的用法详解
2020/01/15 Python
解决pytorch-yolov3 train 报错的问题
2020/02/18 Python
Python 之 Json序列化嵌套类方式
2020/02/27 Python
Django media static外部访问Django中的图片设置教程
2020/04/07 Python
python使用多线程+socket实现端口扫描
2020/05/28 Python
使用canvas压缩图片上传的方法示例
2020/02/07 HTML / CSS
为世界各地的女性设计和生产时尚服装:ROMWE
2016/09/17 全球购物
Nike爱尔兰官方网站:Nike.com (IE)
2018/03/12 全球购物
校园自助餐厅的创业计划书
2013/12/26 职场文书
2014年党务公开方案
2014/05/08 职场文书
党的群众路线整改落实情况汇报
2014/10/28 职场文书
2014年大学班级工作总结
2014/11/14 职场文书
陕西导游词
2015/02/04 职场文书
2016年春节慰问信息
2015/03/25 职场文书
工厂员工辞职信范文
2015/05/12 职场文书
2015少先队大队辅导员工作总结
2015/07/24 职场文书
PyCharm 配置SSH和SFTP连接远程服务器
2022/05/11 Python