javascript匿名函数和闭包有什么关系?

js用了很久了,对于闭包理解还是非常模糊,各种播客没少看,可就是不太理解。

闭包我的理解就是外部可以调取到函数内部的私有变量,仅此而已。

(function(){

  //函数闭包
})()

看了司徒正美的博客,以上代码是一个闭包,让我摸不到头脑,它仅仅是一个匿名函数啊,怎么回合闭包扯上联系呢?他就是一个简简单单的函数啊。如下:

function a(){

   //函数闭包

}

a();

有哪个大侠帮小弟更好的解释一下,还有就是闭包能做什么普通函数不能干的事情呢?就是实际的应用了。

皈依舞
浏览 470回答 3
3回答

呼如林

闭包跟函数有关系,但是至于是不是匿名就都一样了 闭包说的形象一点就像是: 一个封闭的组织(函数),外人是不清楚里面的情况的(内部的方法或变量) 但是如果从这个组织里面跑出一个人来(暴露的接口或对象),那他就会知道这些(可以调用内部的方法或变量)。

人到中年有点甜

匿名函数 与 闭包 一点关系都没有 闭包只是说当某个函数(A)在某个上下文(B)中被创建并返回给某个变量(C),我们在使用C时,A仍然可以使用B中的所有变量
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript