1 闭包的概念
- 函数跨作用域访问变量,形成闭包. 闭包是一种作用域的体现. 一般把:
函数
和变量
的总和,称为闭包。
2 闭包的标准写法
-
闭包的写法是: 父函数嵌套子函数, 子函数访问父函数的变量,把子函数返回或挂在全局。
-
写法一:
const 变量 = (function 父函数() { var 变量 function 子函数() { console.log(变量) } return 子函数 })()
-
写法二:
;(function 父函数() { var 变量 function 子函数() { console.log(变量) } window.属性名 = 子函数 })()
-
3 闭包的作用
-
核心作用:
- 闭包: 把变量封闭包裹在一个匿名函数内部,
隐藏变量或私有化变量
, 实现早期的模块化
。
- 闭包: 把变量封闭包裹在一个匿名函数内部,
4 闭包的缺点
- 形成闭包的变量,不会被内存释放, 不会被js的垃圾回收机制回收, 常驻内存, 过多使用闭包, 造成内存开销过大,甚至内存泄漏。