上一遍文章,主要研究了闭包的定义和表现形式,这次我们来聊聊他的应用场景
回顾一下,闭包有两个作用:
1.维持局部变量不被GC
2.使局部变量能够在外部被访问
由于接触过java,可以很自然地联想到,用闭包来模拟private method/variable
我们老套一些,写一个People的constructor
function People(a){ var age = a;
this.getOlder = function(){
age++;
} this.returnAge = function(){ return age; } }
var p1 = new People(20);
var p2 = new People(40);
p1.age;//undefined
p2.age;//udefined
p1.getOlder();
p2.getOlder();
p1.returnAge(); //21
p2.returnAge(); //41
借助闭包,我们可以让:
this.xxx - public
var xxx - private
然后仅有个模糊的认识,掌握写法,终难究其本质
之后让我研究下 原型/原型链,函数/构造函数 与 js里一切对象的关系
每日让自己精进一些
不知不觉
就能走很远
原文:http://www.cnblogs.com/AlexNull/p/4794294.html