闭包
概念:一个函数对周围状态的引用捆绑在一起,内层函数中访问到其外层函数的作用域(什么鸟语)
简单理解就是:闭包 = 内层函数 + 外层函数的变量
如
function outer() {
let a =0
function inner() {
a++
console.log(a)
}
return inner
}//这里的inner函数使用了外层函数outer的变量a,就是闭包
const fn = outer()
fn()//打印1
fn()//打印2
作用:封闭数据,提供操作,使外部也可以访问函数内部的变量,对于上面的代码来说就是让外部函数fn可以访问outer的内部变量a
标签:闭包,outer,函数,JavaScript,inner,fn,变量 From: https://blog.csdn.net/2301_80293400/article/details/140795076注意上述代码的 a 虽然是局部变量,但是通过全局变量 fn 是可以访问到 a 的,所以变量 a 在函数执行完毕后并不会被自动回收,因此发生了内存泄漏