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 相关文章推荐
javascript 面向对象编程 function也是类
Sep 17 Javascript
jquery ajax实现下拉框三级无刷新联动,且保存保持选中值状态
Oct 29 Javascript
原生js ActiveXObject获取execl里面的值
Nov 01 Javascript
一个简单的jQuery计算器实现了连续计算功能
Jul 21 Javascript
js中confirm实现执行操作前弹出确认框的方法
Nov 01 Javascript
JS实现的新浪微博大厅文字内容滚动效果代码
Nov 05 Javascript
浅谈JQuery+ajax+jsonp 跨域访问
Jun 25 Javascript
微信小程序  自定义创建详细介绍
Oct 27 Javascript
JavaScript模块化之使用requireJS按需加载
Apr 12 Javascript
图片加载完成再执行事件的实例
Nov 16 Javascript
elementui的默认样式修改方法
Feb 23 Javascript
vue element 中的table动态渲染实现(动态表头)
Nov 21 Javascript
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
javascript网页关闭时提醒效果脚本
2008/10/22 Javascript
Prototype源码浅析 Enumerable部分(二)
2012/01/18 Javascript
JS实现淘宝幻灯片效果的实现方法
2013/03/22 Javascript
JavaScript获取当前页面上的指定对象示例代码
2014/02/28 Javascript
基于jQuery实现复选框的全选 全不选 反选功能
2014/11/24 Javascript
JavaScript实现仿淘宝商品购买数量的增减效果
2016/01/22 Javascript
JQuery 传送中文乱码问题的简单解决办法
2016/05/24 Javascript
angular实现表单验证及提交功能
2017/02/01 Javascript
element-ui 上传图片后清空图片显示的实例
2018/09/04 Javascript
怎样使你的 JavaScript 代码简单易读(推荐)
2019/04/16 Javascript
vue 检测用户上传图片宽高的方法
2020/02/06 Javascript
vue 移动端记录页面浏览位置的方法
2020/03/11 Javascript
Vue2.x和Vue3.x的双向绑定原理详解
2020/11/05 Javascript
javascript实现简单留言板案例
2021/02/09 Javascript
python中文编码问题小结
2014/09/28 Python
python将字符串转换成数组的方法
2015/04/29 Python
Python二叉搜索树与双向链表转换实现方法
2016/04/29 Python
完美解决python遍历删除字典里值为空的元素报错问题
2016/09/11 Python
python实现读Excel写入.txt的方法
2018/04/29 Python
Python 批量合并多个txt文件的实例讲解
2018/05/08 Python
Python 查看list中是否含有某元素的方法
2018/06/27 Python
在keras中实现查看其训练loss值
2020/06/16 Python
python zip()函数的使用示例
2020/09/23 Python
python使用scapy模块实现ARP扫描的过程
2021/01/21 Python
检测用户浏览器是否支持CSS3的方法
2009/08/29 HTML / CSS
在线购买澳大利亚设计师手拿包和奢华晚装手袋:Olga Berg
2019/03/20 全球购物
Farfetch澳大利亚官网:Farfetch Australia
2020/04/26 全球购物
局域网标准
2016/09/10 面试题
Laravel的加密解密与哈希实例讲解
2021/03/24 PHP
公司培训心得体会
2014/01/03 职场文书
关于是否需要写商业计划书
2014/02/07 职场文书
《母亲的恩情》教学反思
2014/02/13 职场文书
综治维稳工作承诺书
2014/08/30 职场文书
2014年党员加强作风建设思想汇报
2014/09/15 职场文书
会计专业求职信范文
2015/03/19 职场文书
React Fragment介绍与使用详解
2021/11/11 Javascript