什么叫闭包
闭包是指可以访问另一个函数作用域变量的函数。
为什么需要闭包
全局变量容易造成变量污染,二局部变量受限于局部使用不方便,所以就有了闭包机制来保存变量又不会造成全局变量污染。
🌰
function testFun() {
let a = 'age';
function consoleFun() {
console.log(a);
}
consoleFun();
}
简单来说就是,如果一个函数访问了他外部的变量,那么他就相当于一个闭包。从总的方面来说在js中每个函数都是闭包,因为每个函数都能访问到外部定义的变量。
言外
闭包本身就是一种简化用户调用的机制,其实没必要过多的研究。