一个函数和对其周围状态的引用捆绑在一起,这样的组合就是闭包(closure)。也就是说,闭包让你可以在一个内层函数中访问到其外层函数的作用域。在 JavaScript 中,每当创建一个函数,闭包就会在函数创建的同时被创建出来。 --MDN
闭包的应用场景:模拟私有属性,函数柯里化
闭包易造成内存泄露,解决方案:
- 使用严格模式
- 及时null,销毁相关事件,使用事件委托,减少内存开销
一个函数和对其周围状态的引用捆绑在一起,这样的组合就是闭包(closure)。也就是说,闭包让你可以在一个内层函数中访问到其外层函数的作用域。在 JavaScript 中,每当创建一个函数,闭包就会在函数创建的同时被创建出来。 --MDN
闭包的应用场景:模拟私有属性,函数柯里化
闭包易造成内存泄露,解决方案: