闭包就是能够读取其他函数内部变量的函数。
优点: 可以将函数当作值传递到其他地方使用(非函数所在作用域),例如在定时器、事件监听器、Ajax 请求、任何其他异步(或同步)任务中,只要使用了回调函数,实际上就是在使用闭包
缺点:闭包会让它所在作用域中的变量始终保存在内存中,而不会被垃圾回收机制回收,对内存消耗较大,频繁大量使用,会导致性能问题
解决办法:闭包在不使用时,要及时释放。例如将引用内层函数对象的变量赋值为null
闭包就是能够读取其他函数内部变量的函数。
优点: 可以将函数当作值传递到其他地方使用(非函数所在作用域),例如在定时器、事件监听器、Ajax 请求、任何其他异步(或同步)任务中,只要使用了回调函数,实际上就是在使用闭包
缺点:闭包会让它所在作用域中的变量始终保存在内存中,而不会被垃圾回收机制回收,对内存消耗较大,频繁大量使用,会导致性能问题
解决办法:闭包在不使用时,要及时释放。例如将引用内层函数对象的变量赋值为null