1. 概念
闭包是指拥有多个变量和绑定了这些变量的环境的表达式(通常是一个函数),因而这些变量也是该表达式的一部分。
2. 实现
function sum(list) {
let total = 0
return function() {
list.forEach(item => {
total += item
})
return total
}
}
3. 理解
全局变量/局部变量
4. 作用
- 惰性求值
- AOP
- 函数节流
- 分时函数
5. 优点
- 读取局部变量
- 缓存局部变量
6. 弊端
- 内存泄露(手动置空)
- 性能下降(局部变量)
网友评论