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 相关文章推荐
js的闭包的一个示例说明
Nov 18 Javascript
javascript 定义初始化数组函数
Sep 07 Javascript
js FLASH幻灯片字符串中有连接符&的处理方法
Mar 01 Javascript
js拦截alert对话框另类应用
Jan 16 Javascript
谷歌Chrome浏览器扩展程序开发小记
Jan 06 Javascript
BootStrap Progressbar 实现大文件上传的进度条的实例代码
Jun 27 Javascript
BootStrap中Datepicker控件带中文的js文件
Aug 10 Javascript
jquery点击切换背景色的简单实例
Aug 25 Javascript
详解.vue文件中style标签的几个标识符
Jul 17 Javascript
微信小程序的部署方法步骤
Sep 04 Javascript
详解小程序input框失焦事件在提交事件前的处理
May 05 Javascript
vue element table中自定义一些input的验证操作
Jul 18 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
总结PHP中数值计算的注意事项
2016/08/14 PHP
php cookie用户登录的详解及实例代码
2017/01/03 PHP
php数据序列化测试实例详解
2017/08/12 PHP
Laravel Intervention/image图片处理扩展包的安装、使用与可能遇到的坑详解
2017/11/14 PHP
PHP CURL使用详解
2019/03/21 PHP
jQuery.extend()的实现方式详解及实例
2013/06/29 Javascript
jQuery实现的手机发送验证码倒计时效果代码分享
2015/08/24 Javascript
轻松5句话解决JavaScript的作用域
2016/07/15 Javascript
ES6学习之变量的解构赋值
2017/02/12 Javascript
JS实现用特殊符号替换字符串的中间部分区域的实例代码
2018/07/24 Javascript
Vue 报错TypeError: this.$set is not a function 的解决方法
2018/12/17 Javascript
基于AngularJS拖拽插件ngDraggable.js实现拖拽排序功能
2019/04/02 Javascript
vue.js中ref和$refs的使用及示例讲解
2019/08/14 Javascript
js实现双色球效果
2020/08/02 Javascript
[28:28]Ti4 冒泡赛第二天NEWBEE vs NaVi 2
2014/07/15 DOTA
[46:00]DOTA2上海特级锦标赛主赛事日 - 2 胜者组第一轮#4EG VS Fnatic第一局
2016/03/03 DOTA
[01:04:48]VGJ.S vs TNC Supermajor 败者组 BO3 第一场 6.6
2018/06/07 DOTA
python学习数据结构实例代码
2015/05/11 Python
TensorFlow实现随机训练和批量训练的方法
2018/04/28 Python
使用pandas批量处理矢量化字符串的实例讲解
2018/07/10 Python
解决ROC曲线画出来只有一个点的问题
2020/02/28 Python
Python3爬虫里关于Splash负载均衡配置详解
2020/07/10 Python
玩转CSS3色彩
2010/01/16 HTML / CSS
如何写毕业求职自荐信
2013/11/06 职场文书
初二政治教学反思
2014/01/12 职场文书
情人节活动策划方案
2014/02/27 职场文书
《鲁班和橹板》教学反思
2014/04/27 职场文书
科技节口号
2014/06/19 职场文书
2014各大专业毕业生自我评价
2014/09/17 职场文书
出国签证在职证明
2014/09/20 职场文书
初中生300字旷课检讨书
2014/11/19 职场文书
2015年个人实习工作总结
2014/12/12 职场文书
中学生学习保证书
2015/02/26 职场文书
教师读书笔记
2015/06/29 职场文书
欠条格式范本
2015/07/03 职场文书
Vue项目打包、合并及压缩优化网页响应速度
2021/07/07 Vue.js