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 13 Javascript
javascript 浏览器判断 绑定事件 arguments 转换数组 数组遍历
Jul 06 Javascript
Shell脚本实现Linux系统和进程资源监控
Mar 05 Javascript
js鼠标单击和双击事件冲突问题的快速解决方法
Jul 11 Javascript
关于foreach循环中遇到的问题小结
May 08 Javascript
js实现上传并压缩图片效果
Jan 10 Javascript
安装vue-cli的简易过程
May 22 Javascript
vue组件中iview的modal组件爬坑问题之modal的显示与否应该是使用v-show
Apr 12 Javascript
小程序中英文混合排序问题解决
Aug 02 Javascript
解决React在安装antd之后出现的Can't resolve './locale'问题(推荐)
May 03 Javascript
Element Notification通知的实现示例
Jul 27 Javascript
详解JavaScript 的执行机制
Sep 18 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
PHP的FTP学习(四)
2006/10/09 PHP
PHP中的错误处理、异常处理机制分析
2012/05/07 PHP
php图片加水印原理(超简单的实例代码)
2013/01/18 PHP
解析WordPress中的post_class与get_post_class函数
2016/01/04 PHP
Yii调试查看执行SQL语句的方法
2016/07/15 PHP
php简单计算权重的方法示例【适合抽奖类应用】
2019/06/10 PHP
验证用户是否修改过页面的数据的实现方法
2008/09/26 Javascript
基于jQuery的日期选择控件
2009/10/27 Javascript
Knockoutjs的环境搭建教程
2012/11/26 Javascript
jQuery防止click双击多次提交及传递动态函数或多参数
2014/04/02 Javascript
jquery访问ashx文件示例代码
2014/08/11 Javascript
JavaScript在浏览器标题栏上显示当前日期和时间的方法
2015/03/19 Javascript
JS实现左右无缝轮播图代码
2016/05/01 Javascript
jQuery对象与DOM对象转换方法详解
2016/05/10 Javascript
jquery动态遍历Json对象的属性和值的方法
2016/07/27 Javascript
读Javascript高性能编程重点笔记
2016/12/21 Javascript
canvas红包照片实例分享
2017/02/28 Javascript
Three.js获取鼠标点击的三维坐标示例代码
2017/03/24 Javascript
AngularJS $http模块POST请求实现
2017/04/08 Javascript
jQuery Plupload上传插件的使用
2017/04/19 jQuery
详解Vue路由History mode模式中页面无法渲染的原因及解决
2017/09/28 Javascript
vue 表单输入格式化中文输入法异常问题
2018/05/30 Javascript
js使用ajax传值给后台,后台返回字符串处理方法
2018/08/08 Javascript
JavaScript面向对象核心知识与概念归纳整理
2020/05/09 Javascript
python定时利用QQ邮件发送天气预报的实例
2017/11/17 Python
python爬虫scrapy基于CrawlSpider类的全站数据爬取示例解析
2021/02/20 Python
使用iframe+postMessage实现页面跨域通信的示例代码
2020/01/14 HTML / CSS
美国珠宝网上商店:Jeulia
2016/09/01 全球购物
Omio美国:全欧洲低价大巴、火车和航班搜索和比价
2017/11/08 全球购物
数以千计的折扣工业产品:ESE Direct
2018/05/20 全球购物
团工委书记自荐书范文
2013/12/17 职场文书
护士感人事迹
2014/05/01 职场文书
法人授权委托书范本
2014/09/17 职场文书
劳动争议和解协议书范本
2014/11/20 职场文书
小学班长竞选稿
2015/11/20 职场文书
浙江省杭州市平均工资标准是多少?
2019/07/09 职场文书