概念:
1 函数中返回一个函数(获取函数内部变量)。
2 函数声明作用域和函数使用作用域
用途:
1 获取私有作用域中的变量
2 这些变量可以保存到内存中
弊端
保存内存不被销毁,造成内存泄露。
function a(){
/*
通过如下多次调用getA(),i会保存内存
保存到内存中---可以做防抖和节流
*/
let i = 0;
function add(){
i++;
return i;
}
return add;
}
let getA = a();
console.log(getA()) //1
console.log(getA()) //2
// 普通函数不会保存到内存(调用一次销毁一次)如下:
function b(){
let b = 20;
return b;
}
console.log(b()); //20
console.log(b()); //20