js闭包中级应用

05 June 2013

经典案例

这是每个学习闭包的入门案例,函数的本来意图是让每个按钮alert不同的i,但是结果却alert都是相同的数。

解决方法很简单,把i用闭包的形式存起来,看下面的例子

中级应用

先来看看下面的场景

在js的模块化编程中,可能会用到一些数据仓库,如果直接放在模块中,每次调用都会赋值,占用空间,那放在全局变量中呢?当然也行,不过js的最佳实践就是尽量少的污染全局变量。基于上面的考虑,我们可以把它放在闭包中。

attr被移到外面的闭包里面去了

再来一发,下面是菲波那契数列。变量storage是亮点哦

结语

闭包在很多现代的框架中已被大量应用,数据仓库只是冰山一角,希望大家可以举一反三。


tags:    closure    js   
回到首页