javascript闭包入门示例


Posted in Javascript onApril 30, 2014

1.

functionsay667(){
varnum=666;
varsayAlert=function(){alert(num);}
num++;
returnsayAlert;
}
varsayAlert=say667();
sayAlert();

2.

functionsetUpSomeGlobals(){
varnum=666;
gAlertNumber=function(){alert(num);}
gIncreaseNumber=function(){num++;}
gSetNumber=function(x){num=x;}
}
setUpSomeGlobals();//为三个全局变量赋值
gAlertNumber();//666
gIncreaseNumber();
gAlertNumber();//667
gSetNumber(12);
gAlertNumber();//12

3.

functionbuildList(list){
varresult=[];
for(vari=0;i<list.length;i++){
variteml='item'+list[i];
result.push(function(){alert(item+''+list[i]);});
}
returnresult;
}
functiontestList(){
varfnlist=buildList([1,2,3]);
for(varj=0;j<fnlist.length;j++){
fnlist[j]();
}
}

4.

functionsayAlice(){
varsayAlert=function(){alert(alice);}
varalice='HelloAlice';
returnsayAlert;
}
varhelloAlice=sayAlice();
helloAlice();//HelloAlice

5.

functionnewClosure(someNum,someRef){
varnum=someNum;
varanArray=[1,2,3];
varref=someRef;
returnfunction(x){
num+=x;
anArray.push(num);
alert('num:'+num+'\nanArray'+anArray.toString()+'\nref.someVar'+ref.someVar);
}
}
closure1=newClosure(40,{someVar:'closure1'});
closure2=newClosure(1000,{someVar:'closure2'});
closure1(5);
closure2(-10);
Javascript 相关文章推荐
javascript 常用代码技巧大收集
Feb 25 Javascript
Js 弹出框口并返回值的两种常用方法
Dec 30 Javascript
Array, Array Constructor, for in loop, typeof, instanceOf
Sep 13 Javascript
jquery与js函数冲突的两种解决方法
Sep 09 Javascript
JS正则表达式验证数字代码
Jan 28 Javascript
解决angular的post请求后SpringMVC后台接收不到参数值问题的方法
Dec 10 Javascript
理解javascript中的with关键字
Feb 15 Javascript
js实现华丽的九九乘法表效果
Mar 29 Javascript
微信小程序实现给循环列表添加点击样式实例
Apr 26 Javascript
js时间戳与日期格式之间转换详解
Dec 11 Javascript
详解layui弹窗父子窗口之间传参数的方法
Jan 16 Javascript
解决VUE mounted 钩子函数执行时 img 未加载导致页面布局的问题
Jul 27 Javascript
三种动态加载js的jquery实例代码另附去除js方法
Apr 30 #Javascript
js动态控制table的tr、td增加及删除的具体实现
Apr 30 #Javascript
js控制href内容的连接内容的变化示例
Apr 30 #Javascript
js函数定时器实现定时读取系统实时连接数
Apr 30 #Javascript
struts2+jquery组合验证注册用户是否存在
Apr 30 #Javascript
jquery实现的网页自动播放声音
Apr 30 #Javascript
js验证IP及子网掩码的合法性有效性示例
Apr 30 #Javascript
You might like
《一拳超人》埼玉一拳下去,他们存在了800年毫无意义!
2020/03/02 日漫
一个分页的论坛
2006/10/09 PHP
腾讯QQ php程序员面试题目整理
2010/06/08 PHP
PHP MPDF中文乱码的解决方式
2015/12/08 PHP
PHP SFTP实现上传下载功能
2017/07/26 PHP
Laravel框架用户登陆身份验证实现方法详解
2017/09/14 PHP
laravel 验证错误信息到 blade模板的方法
2019/09/29 PHP
各情景下元素宽高的获取实现代码
2011/09/13 Javascript
JavaScript基础篇之变量作用域、传值、传址的简单介绍与实例
2013/06/29 Javascript
Javascript图片上传前的本地预览实例
2014/06/16 Javascript
JS实现倒计时和文字滚动的效果实例
2014/10/29 Javascript
百度UEditor编辑器如何关闭抓取远程图片功能
2015/03/03 Javascript
两种JS实现屏蔽鼠标右键的方法
2020/08/20 Javascript
使用Javascript写的2048小游戏
2015/11/25 Javascript
微信小程序 简单DEMO布局,逻辑,样式的练习
2016/11/30 Javascript
用jQuery实现优酷首页轮播图
2017/01/09 Javascript
vue component组件使用方法详解
2017/07/14 Javascript
Vue作用域插槽slot-scope实例代码
2018/09/05 Javascript
JS/HTML5游戏常用算法之路径搜索算法 随机迷宫算法详解【普里姆算法】
2018/12/13 Javascript
微信小程序实现二维码签到考勤系统
2020/01/16 Javascript
Python 学习笔记
2008/12/27 Python
Python实现的一个简单LRU cache
2014/09/26 Python
python 获取当天凌晨零点的时间戳方法
2018/05/22 Python
解决py2exe打包后,总是多显示一个DOS黑色窗口的问题
2019/06/21 Python
选择python进行数据分析的理由和优势
2019/06/25 Python
关于Python中的向量相加和numpy中的向量相加效率对比
2019/08/26 Python
django执行数据库查询之后实现返回的结果集转json
2020/03/31 Python
CSS3中的clip-path使用攻略
2015/08/03 HTML / CSS
橄榄树药房:OLIVEDA
2019/09/01 全球购物
澳大利亚商务邀请函
2014/01/17 职场文书
小学运动会口号
2014/06/07 职场文书
售房协议书
2014/08/19 职场文书
2016大学生社会实践心得体会范文
2016/01/14 职场文书
司法廉洁教育心得体会
2016/01/20 职场文书
小学生六年级作文之关于感恩
2019/08/16 职场文书
600字作文之感受大自然
2019/11/27 职场文书