* 闭包
* 1. 需要 直接 或者 间接的 返回一个 函数
* 2. 内部函数需要访问 外部函数的局部变量
*
* 好处:
* 延长变量的生命周期, 在函数外可以使用函数内的变量
*
* 弊端:
* 执行空间不会被销毁, 如果大量使用会造成内存泄露
function outter() {
let a = 100
let obj = {
name: 'outer函数',
age: '随意'
}
function inner() {
// console.log(a)
// console.log(obj)
// return a
return obj
}
// 1. 直接返回一个函数
return inner
}
const newFn = outter()
// console.log(newFn) // 得到一个函数(inner)
let num = newFn()
console.log(num)