function fa(){
let a = 10;
return function fb(){
console.log(a)
}
}
let fc = fa();
fc()
//fc=null
为什么需要一个闭包函数?
js中,全局变量会造成环境污染,而局部变量又无法长时间存储,闭包就应运而生。
闭包的好处: 1.防止命名冲突,造成变量污染
2.局部变量可以存储在内存中
缺陷:不销毁的话容易造成内存泄漏(原因:js的垃圾回收机制:被另一个作用域引用的变量不会被回收)
以下是b站的一个视频,更容易理解