您现在的位置是:首页 > 文章详情

对Javascript“闭包”的简单理解

日期:2019-03-03点击:358

闭包:

function a(){
var i=0;
function b(){
alert(++i);
}
return b;
}
var c = a();
c();

这段代码有两个特点:
1、函数b嵌套在函数a内部;
2、函数a返回函数b。
这样在执行完var c=a()后,变量c实际上是指向了函数b,再执行c()后就会弹出一个窗口显示i的值(第一次为1)。这段代码其实就创建了一个闭包,为什么?因为函数a外的变量c引用了函数a内的函数b,就是说:

当函数a的内部函数b被函数a外的一个变量引用的时候,就创建了一个闭包。

js代码为什么要写成这样了?
http://www.javaeye.com/problems/11644

深入理解Javascript闭包(closure)

javascript 避免闭包引发的问题
http://www.jb51.net/article/17497.htm

js面向对象--理解闭包
http://hi.baidu.com/heroguang/blog/item/1c006ff4904c00d1f2d385ca.html

面向对象的 Javascript 语言特性:闭包
http://www.cnblogs.com/zitiger/archive/2007/06/08/776777.html

JAVA 需要引入闭包吗
http://www.javaeye.com/wiki/topic/406229

PHP 5.3 将加入闭包语法
http://www.javaeye.com/news/5885-php-5-3-will-add-closure-grammar

js闭包
http://www.javaeye.com/topic/349458

IE下闭包引起跨页面内存泄露探讨
http://www.javaeye.com/topic/180611?page=1

http://softbbs.pconline.com.cn/9497825.html
原文链接:https://yq.aliyun.com/articles/692259
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章