如何更好的理解闭包

js的闭包,从哪个方向能更好的理解闭包?总感觉自己的理解不是很清晰

阅读 3.1k
6 个回答

在js中,函数是一个作用域,在这个域内,再创建一个函数,则这个新函数便可能称之为闭包,也就是一个函数内部的函数。这个内部函数,具有封闭性,外部无法访问其内部的变量,而内部可以访问到外部的变量,就像是一个封闭的空间,你可以出去,但别人不可以进来。欲听详情分解,请点:https://segmentfault.com/a/11...

主要目的就是 隐藏变量/函数,实现私有变量/函数

js高程里面说的是:从技术的角度讲,所有的JavaScript函数都是闭包,这里应该讨论的是实践角度的闭包。
可以看看这篇文章闭包

我觉得从变量的作用域开始更直观一点,可以看看这篇文章,传送门

书名

Secrets of the JavaScript Ninja,Second Edition

作者

JOHN RESIG
BEAR BIBEAULT
and JOSIP MARAS

第四章

Functions for the journeyman: understanding function invocation

第五章

Functions for the master: closures and scopes

2016年的书,这两章内容读完应该能建立一个清晰的影像了。
全书写的也非常精彩,作者之一JOHN RESIG,之前写过jQuery。

闭包不是就是把变量那一个框框包起来让别人看不见 还有吧别的意思吗?

推荐问题
宣传栏