闭包

2017-09-15  本文已影响2人  就这个头

一、存在的意义

创建一个常驻内存的局部变量和方法(js语言机制会销毁运行过的局部变量),并避免全局变量的污染。

二、如何实现一个闭包

函数包含函数,内函数引用外函数的局部变量,延长了这个局部变量的生命周期。在外部重复调用时,并能实现累加。

三、缺点

内存常量,操作不当可能会引起内存泄漏。 不需要了应这样清除内存 fun = null

四、DEMO

function abc() {

var a = 1;

return function () {

a++;

return a;

}

}

var fun = abc();

fun()     //  相当于abc()()  2

fun()    //  3

上一篇 下一篇

猜你喜欢

热点阅读