什么是闭包
闭包就是能够读取其他函数内部变量的函数。在 JS 中,只有函数内部的子函数才能读取局部变量,因此可以把闭包简单理解为”定义在一个函数内部的函数”。
1 | function fn() { |
闭包的特点
- 可以读取函数内部的变量。
变量的作用域无非就是两种:全局变量和局部变量。
JS 语言的特殊之处,就在于函数内部可以直接读取全局变量。另一方面,函数外部自然无法读取函数内的局部变量。 - 让这些变量的值始终保存在内存中。
闭包的应用场景
- 函数作为返回值。
1 | function box() { |
- 函数作为参数被传递
回调函数
闭包深度解析参考
阮一峰博客:学习 Javascript 闭包(Closure)
本文作者:人模人样的搬砖老段
本文链接:关于闭包
如有错误,请及时评论或者知乎私信或者 B 站私信哦~