js用了很久了,对于闭包理解还是非常模糊,各种播客没少看,可就是不太理解。
闭包我的理解就是外部可以调取到函数内部的私有变量,仅此而已。
(function
(){
//函数闭包
})()
看了司徒正美的博客,以上代码是一个闭包,让我摸不到头脑,它仅仅是一个匿名函数啊,怎么回合闭包扯上联系呢?他就是一个简简单单的函数啊。如下:
function a(){
//函数闭包
}
a();
有哪个大侠帮小弟更好的解释一下,还有就是闭包能做什么普通函数不能干的事情呢?就是实际的应用了。
闭包跟函数有关系,但是至于是不是匿名就都一样了
闭包说的形象一点就像是:
一个封闭的组织(函数),外人是不清楚里面的情况的(内部的方法或变量)
但是如果从这个组织里面跑出一个人来(暴露的接口或对象),那他就会知道这些(可以调用内部的方法或变量)。
匿名函数 与 闭包 一点关系都没有
闭包只是说当某个函数(A)在某个上下文(B)中被创建并返回给某个变量(C),我们在使用C时,A仍然可以使用B中的所有变量
http://www.cnblogs.com/rainman/archive/2009/05/04/1448899.html