js闭包
是一种特殊的代码结构,可以间接的来访问内部私有变量
可以简单的理解为是函数中嵌套函数(返回函数)
举个例子
function f1() {
let str = '我是一段文字'
return function () {
return str;
}
}
let str1 = f1()()
闭包的特点
- 可以通过闭包的结构来间接访问函数中的私有数据
- 保护私有变量,不会污染全局
- 作用域空间不被销毁,延长变量的生命周期
闭包的概念
有一个A函数,在A函数内部返回一个B函数
在A函数外部有变量引用这个B函数
B函数内部访问着A函数内部的私有变量