function f1(){
test = 10;
var n=999;
nAdd=function(){n+=1}
function f2(){
alert(n);
}
return f2;
}
//如果 #1 说法正确,下句会打印10,实际结果是test未定义。
//alert(test); // error test 未定义
//如果 #2 正确,语句 nAdd(); 位置在何处应该都能执行,测试结果在下面这个位置,也就是语句 var result=f1(); 前。是不能执行的。
//nAdd();
var result=f1();
result(); // 999
nAdd();
result(); // 1000
留言(17 条)
在 学习Javascript闭包(Closure) 留言:
浅显易懂,很好。
如下看法,认为有待商榷:
#1、有一个地方需要注意,函数内部声明变量的时候,一定要使用var命令。如果不用的话,你实际上声明了一个全局变量!
#2、这段代码中另一个值得注意的地方,就是“nAdd=function(){n+=1}”这一行,首先在nAdd前面没有使用var关键字,因此nAdd是一个全局变量,而不是局部变量。其次,nAdd的值是一个匿名函数(anonymous function),而这个匿名函数本身也是一个闭包,所以nAdd相当于是一个setter,可以在函数外部对函数内部的局部变量进行操作。
function f1(){
test = 10;
var n=999;
nAdd=function(){n+=1}
function f2(){
alert(n);
}
return f2;
}
//如果 #1 说法正确,下句会打印10,实际结果是test未定义。
//alert(test); // error test 未定义
//如果 #2 正确,语句 nAdd(); 位置在何处应该都能执行,测试结果在下面这个位置,也就是语句 var result=f1(); 前。是不能执行的。
//nAdd();
var result=f1();
result(); // 999
nAdd();
result(); // 1000
2010-01-28 11:36:02
在 一篇政治类读书笔记 留言:
竟然把苏联的解体和私有化吹到天上去了,才刚过去没几天的历史也要篡改,真是可笑
2009-10-18 23:02:28
在 关于战略问题的通信之六(译文) 留言:
读你的文章,突然感觉释然了:是阿,说自己想说的话,做自己想做的事情,日子就是这样de过,平实而有韵味。。。
2009-09-06 19:08:12
在 关于Da Code 留言:
觉得读书公园再开张实在不错,但只卖T恤不卖书不是太可惜了么。如果读书公园再开张,建议在书评的旁边挂上被评介的书的在线销售链接,现在很多书店都有广告联盟,淘宝客也支持商品推介,不一定要自己开店,这样就降低了成本和风险(当然利益获得也就少些)。以阮先生之影响,传播信息和文化的同时,顺便收获一下银子,应该是水到渠成的事情。
2009-07-03 11:54:14
在 电子书的时代正在来临 留言:
也许这里的大部分的人都没有见过真正的电子纸,由于我的妻子失眠,我在月前买了翰林的v3,e-lnk二代屏,除了亮度还是不如纸质外,其他的没有多少区别。这个东西真的讨人喜欢,正在想着,如果有个8寸的就更好了。近期是不敢再买一个了,因为那v3花了我 2300 rmb,唉!!降到1000,我就再来一个!!
2009-03-16 10:44:16
在 《劳动合同法》是不够的! 留言:
楼主的文章不过是一家之谈,尤其是具体操作部分,不实际,有漏洞或者错误其实不是文章的要点,要点是政府的这个政策,透露出政府简单的转嫁了危机,将包袱抛给企业。这是政府本身的渎职。
看看多年以来,政府给劳动者创造了怎样的环境,看看现在的劳动保障体系、医疗卫生体系,关系生活和子女的住房、教育。
反正我是明白这个政策是政府一以贯之的态度——话说得漂亮,东西不地道。如果说这个政策还有好的地方,就是没有直接拿它赚钱了。
2009-02-17 17:04:23
在 乞丐之死背后的器官交易 留言:
这就是中国人所谓的白衣天使!!
比法西斯更为可怕!!
2009-02-01 13:46:39
在 长眠矿底的172名矿工 留言:
中国政府——腐败
相当地腐败!!
看看台湾在看看大陆!!
到底当初跟着那个党是对的??
2009-02-01 13:44:36
在 令人失望的周曙光 留言:
人出名了,就飘飘然起来,难免会犯错误
此事说明,周曙光也是个正常人啊,没必要一棍子打死
2009-01-21 21:34:51
在 一个寻找作者的读者 留言:
写得真好。
多谢传播这样的美好情感,美妙的人与事物。
加油!
2008-07-29 22:33:24
在 纪录片《抢救切尔诺贝利》(Battle of Chernobyl) 留言:
谢谢费心整理,放到这里。看了以后很震惊,收藏了。
2008-04-27 11:26:13
在 中国和美国的一些数字比较 留言:
读《人渣经济笔记》,发现这里有个数据观点相近。
http://kaieconblog.spaces.live.com/Blog/cns!B4C829CC97B9EDD8!5903.entry
2008-04-20 11:52:37
在 陈寅恪的“恪”怎么读? 留言:
粤语"恪"读"客",广东客家话"恪"读"客", 陈寅恪是江西客家人(不知道他那边的客家话是否和广东一样),也许普通话不好,建议还是读古音"确",否则易被人认为不知道古音,没文化
2007-03-17 17:45:26
在 内地城市的产业困境 留言:
市场经济的自我纠正手段?
不懂
2006-11-29 03:47:46
在 中海油CEO的公开信 留言:
难不成还要强调:石油是工业国家的经济血液,这次收购势必关系国家利益,你们碗里的我们不拿,拿的是你们桌上的。
2006-11-29 03:44:07
在 未来,中国与印度 留言:
中国过去2000年与来的政治制度和现在的政治制度有何异同?
美国的成就和罗马共和国的成就有何异同?
科技对政治制度有何影响?
未来有何趋向?
信奉寡欲宗教的印度人不以物喜,不以己悲,后天下之忧而忧,先天下之乐而乐。
利益所驱的中国人抱着各种主义。
2006-11-29 03:21:23
在 人吃人的中国 留言:
看不清现状;估不到未来时,读史。
推荐毛泽东最常读的明史,还有美国的1850-1950的历史。
2006-11-29 02:49:13