我正在学习 javascript 闭包,我已经阅读了很多关于闭包的示例,但我仍然对为什么我们必须使用闭包感到困惑?
这是我从“The Good Parts”复制的一个例子
var myObject = function(){
var value = 0;
return {
increment: function(inc){
value += inc;
},
getValue: function(){
return value;
}
}
};
var obj1 =myObject();
document.write(obj1.getValue()); //0
obj1.increment(10);
document.write(obj1.getValue());//10
但我想知道为什么我们不应该那样写?
var myObject = function(){
var value = 0;
this.increment= function(inc){
value += inc;
},
this.getValue= function(){
return value;
}
};
var obj1 =new myObject();
document.write(obj1.getValue());
obj1.increment(10);
document.write(obj1.getValue());
第一次问问题,英语不好,见谅!