犀牛——第8章函数 8.6闭包

来源:互联网 发布:多媒体网络教室软件 编辑:程序博客网 时间:2024/05/17 08:30

8.6闭包

闭包是指函数变量被隐藏于作用域内,它们可以捕获到局部变量(和参数),并一直保存下来。

例子:

function counter(){

var n = 0;

return{

count:function(){return n++;};

reset:function(){n = 0;};

};

}


var c = counter(), d = counter();   //创建两个计数器

c.count(); //=>0

d.count();//=>0:它们互不干扰

c.reset();//reset()和count()方法共享状态

c.count();//=>0:因为我们重置了c

d.count();//=>1 :而没有重置d

0 0
原创粉丝点击