什么是闭包?

68 阅读1分钟

定义:函数+上下文调用

说人话就是一个函数调用另一个函数的变量

闭包的优缺点:

闭包的主要作用:延长了变量的作用范围,因为闭包函数中的局部变量不会等着闭包函数执行完就销毁,因为还有别的函数还要调用它,只有等着所有的函数都调用完了他才会销毁.

闭包会造成内存泄漏,如何解决:用完手动释放

注意:

1. 由于闭包会使得函数中的变量都被保存在内存中,内存消耗大,所以不能滥用闭包,否则会造成网页的性能问题,在IE中可能导致内存泄漏.解决办法是,在推出函数之前,将不使用的局部变量全部删除.

2. 闭包会在父函数外部,改变父函数内部的变量的值.所以,如果你把父函数当做对象使用,把闭包当做它的公用方法(Public Method),把内存变量当作它的私有属性(pricate value),这时一定要小心,不要随便改变父函数内部变量的值