闭包:
- 闭包是由函数以及声明该函数的词法环境组合而成的。该环境包含了这个闭包创建时作用域内的任何局部变量。
- 也就是,两个嵌套关系的函数,内部函数可以访问外部函数定义的变量。
- 是通过作用域链,进行逐层查找并访问的
闭包的优点:
- 形成私有化空间,避免全局变量污染
- 持久化内存,保存数据
闭包的缺点: 由于持久化内存,导致内存泄漏
闭包主要用用场景:
- 实现分段计算
- 数据保护
- 缓存数据
闭包例子
代码语言:javascript复制function makeFunc() {
const uname = 'Tricia'
function displayName() {
console.log(uname)
}
return displayName
}
const myFunc = makeFunc()
myFunc() // Tricia