闭包
什么是闭包
- 红宝书(第四版) p-309:闭包指的是那些引用了另一个函数作用域中变量的函数,通常是在嵌套函数中实现的。
- 个人理解:闭包是指有权访问另一个函数作用域中变量的函数。
如何形成闭包
内部的函数存在外部作用域的引用就会导致闭包。
闭包的优点
可以保护变量不受外界污染。(只读)
闭包的缺点
常驻内存,消耗性能。
怎么写一个闭包
代码如下:
//声明一个函数
function outer(){
let name = 10;
//内部嵌套一个函数
function inner(){
//返回外部函数的变量
return name
}
return inner
}
常见闭包例子:
vuex
常见用法:
利用闭包实现模块化。