Logo

dansion’s 日志

学无止境~~~~~~~
rss
  • 首页
  • 日志首页
  • FLASH音乐盒
  • FLash 地图
  • 登录

闭包!!!

刚接触到这个词,晕忽了许久。

1.闭包是在其词法上下文中引用了自由变量的函数。
2.如果在一个内部函数里,对在外部作用域(但不是在全局作用域)的变量进行引用,那么内部函数就被定义为闭包。
3.在实现深约束时,需要创建一个能显式表示引用环境的东西,并将它与相关的子程序捆绑在一起,这样捆绑起来的整体被称为闭包。

闭包!是不越看越晕啊,还不如直接用代码来说明:

例子1,创造一个函数。该函数内部的x是无法外部访问的。

var myfunc=function(){
var x=0;
return function(){
return x;
}
};

例子2:创造一个方法。

var addx=function(x) {
return function(y) {return x+y;};
}

a=addx(8); //先定义x
alert(a(10));//运算8+10

结果:18

例子3,创造一个对象。x同样是无法外部访问的。注意最后一行的(),作用是马上调用构造出来的函数。

var myobj=function(){
var x=0;
return {
fun1:function(){alert(x+1);},
fun2:function(){alert(x+1);}
};
}();

例子4:利用闭包给attachEvent侦听函数增加参数

dom节点.attachEvent(”onclick”,onclickfun(arg1,arg2));

var onclickfun=function(arg1,arg2){
return function(){
alert(arg1);
alert(arg2); //代码块,arg1,arg2
}
}

Tags: Javascript

This entry was posted on 星期三, 六月 17th, 2009 at 17:52 and is filed under Javascript. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

« 让ie支持DOM2事件模型写法
as闭包,addEventListener传参数. »

Leave a Reply

点击这里取消回复

  • about me

    dansion:现就职于口碑UED,从事前端发开工作。倚看浮尘,独乐矣!
    twitter:dansion.zeng
  • TAG

      五笔 农历 播放器 玄学 百度 网站 actionscript3 AMFPHP as css CSS3预览 dreamweaver FancyUpload ff firefox flash flash 10 Flash ActionScript Flash ActionScript flash cs3 flash remotion flex flv google html ie ie6 ie8 im Javascript js loader mp3 opensearch qq svn textarea WebSlices z-index
  • 最新文章

    • js与flash交互
    • yui2.8在Dreamweaver的代码提示
    • QQ五笔的小动作!
    • swfobject判断浏览器是否安装或是启用flash
    • 自定义 Dreamweaver CS4 代码提示
    • FLASH Loader 的 bug?
    • 离开深圳
    • JS滚动条
    • as闭包,addEventListener传参数.
    • 闭包!!!
  • 最新评论

    • zhouqi: 好冷清,捧场来了~ YUI提示快上来吧~
    • kenis: 在天地会看到博主的农历类,特地来这里感谢博主~
    • dafi: QQ五笔输入法已经出来了。
    • admin: 是比较杯具,因为虚拟服务商的问题。dis文件是文本类型的。
    • jinhr: 无法下载,以下是显示的错误信息。太可笑了。 发现被禁止的关键字:**** 在页面上发现被禁止的关键字:****! 请及时删除!
    • dafi: 你不在,吃饭时杀伤力都不强了。 那天江请吃饭都松了口气:还好曾董不在。。。
    • auzn: 是有问题 :)
    • shaming: 今天查阅了资料,月柱确实是跟着二十四节气走,仁兄是对的;然而在那个类中月柱“快了一天”,比如09年10月8日是寒露,从这天起月柱才由“癸酉”变成“甲戌”,但是那个类中10月7日就已经是“甲戌”月了。 瑕疵我找到了,原来只要把下面代码中的(d+1)改成d即可。 if ((d+1)>=firstNode) {
    • admin: 八字里是缺少一个时柱。但月柱跟农历月份走,有待考量,相当于年柱是否以春节为界,还是以立春为界。
    • shaming: 仁兄写的农历AS类果然强大,您的这个类在网络上广为流传,有幸我也看到了并使用了,在此非常感谢您! 接着就是我发现的问题: 1、八字没有出来,也就是时辰的天干还没有。 2、月柱应当跟着农历月分走。
  • 分类

    • Flash ActionScript (8)
    • FLASH心得 (8)
    • Javascript (6)
    • xhtml+css (16)
    • 了心作 (5)
    • 作品 (3)
    • 其它 (7)
    • 未分类 (8)
    • 网站相关 (2)
    • 胡言乱语 (2)
  • 存档

    • 2010年二月
    • 2009年十一月
    • 2009年十月
    • 2009年八月
    • 2009年七月
    • 2009年六月
    • 2009年五月
    • 2009年四月
    • 2008年十二月
    • 2008年八月
    • 2008年六月
    • 2008年五月
    • 2008年四月
    • 2008年三月
    • 2008年二月
    • 2008年一月
    • 2007年十二月
    • 2007年十一月
    • 2007年十月
    • 2007年五月
    • 2007年四月
    • 2007年三月
    • 2007年一月
© 2005-2010 dansion’s 日志 is proudly powered by WordPress Entries (RSS) and Comments (RSS). 浙ICP备06014046号