苗火 Nicholas
[JS]闭包
2015-12-31 萧
    所谓“闭包”,指的是一个拥有许多变量和绑定了这些变量的环境的表达式(通常是一个函数),因而这些变量也是该表达式的一部分。


    很少有人能直接看懂这句话,因为他描述的太学术。我想用如何在Javascript中创建一个闭包来告诉你什么是闭包,因为跳过闭包的创建过程直接理解闭包的定义是非常困难的。看下面这段


var create_counter = function(event_name){
var counter = 0;
var display = function(){
console.log("Number of event "+event_name+":"+counter);
}
var increment = function(){
counter ++;
display();
}
var decrement = function(){
counter --;
display();
}
return {
increment:increment,
decrement:decrement
};
}
var counter1 = create_counter("counter1");
var counter2 = create_counter("counter2");

counter1.increment();
counter2.increment();
counter2.increment();
counter2.increment();
counter2.increment();
counter1.increment();




评论:
2015-12-31 08:51 回复
<script>alert("afadfas");</script>
1
发表评论:
昵称

邮件地址 (选填)

个人主页 (选填)

内容