对Javascript“闭包”的简单理解

brick.wan 2019-03-04

云栖社区 编程语言 前端与交互设计 javascript 函数 面向对象 html

闭包:

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
登录 后评论
下一篇
我是你爱豆
12854人浏览
2019-08-22
相关推荐
JavaScript中的闭包
567人浏览
2012-05-05 06:48:00
学习Javascript闭包(Closure)
650人浏览
2016-06-07 15:53:14
学习Javascript闭包(Closure)
367人浏览
2012-07-27 10:53:00
JavaScript闭包学习笔记
420人浏览
2015-01-07 08:59:00
理解javascript闭包
426人浏览
2014-06-25 11:54:00
Javascript闭包(转载)
371人浏览
2011-12-26 15:56:00
Javascript闭包
421人浏览
2017-11-27 17:01:00
Javascript闭包
443人浏览
2017-11-17 18:11:00
Javascript闭包(Closure)
323人浏览
2009-09-21 19:45:00
通过示例学习JavaScript闭包
415人浏览
2017-08-07 13:55:00
javascript 闭包
311人浏览
2015-12-24 12:08:00
什么是JavaScript闭包?
224人浏览
2017-12-21 09:32:19
0
0
0
368