所谓闭包,就是用一个函数去访问另一个函数的内部变量。
function outFun() {
let num = '10';
}
console.log(num);
//num is not defined
//无法访问到函数内的局部变量
使用闭包方法函数里的局部变量
function outFun() {
let num = '10';
//在函数内部再定义一个函数就能访问到内部变量
function inFun() {
console.log(num);
}
return inFun;
}
let outFun = outFun();
outFun();
// 释放出内存
outFun = null
- 优点:不产生全局变量,属性全部私有化。
- 缺点:闭包中数据常驻内存,不用需要删掉,否则容易内存溢出。