闭包总结
1. 闭包是什么
闭包是指有权访问另外一个函数作用域中的变量的函数
2. 形成闭包的原因
内部的函数存在外部作用域的引用就会导致闭包
内部的函数引用了外部作用域的变量就会导致闭包
3. 闭包变量存储的位置
闭包中的变量存储的位置是堆内存。
4. 闭包的作用
- 保护函数的私有变量不受外部的干扰。形成不销毁的栈内存。
- 保存,把一些函数内的值保存下来。闭包可以实现方法和属性的私有化
5. 闭包经典使用场景
防抖节流
for循环经典面试题
立即执行函数
return 回一个函数
函数作为参数
柯里化实现
6. 闭包缺点
内存泄露
容易导致内存泄漏。闭包会携带包含其它的函数作用域,因此会比其他函数占用更多的内存。过度使用闭包会导致内存占用过多,所以要谨慎使用闭包。
参考
https://juejin.cn/post/6937469222251560990