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