javascript闭包的效果如何
我正在学习javascript闭包,我读了很多关于闭包的例子,但我仍然不明白为什么我们必须使用闭包 下面是我从“好的部分”中复制的一个例子 但我想知道为什么我们不应该这样写javascript闭包的效果如何,javascript,closures,Javascript,Closures,我正在学习javascript闭包,我读了很多关于闭包的例子,但我仍然不明白为什么我们必须使用闭包 下面是我从“好的部分”中复制的一个例子 但我想知道为什么我们不应该这样写 var myObject = function(){ var value = 0; this.increment= function(inc){ value += inc; }, this.getValue= function(){ r
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());
第一次问问题,可怜的英语,原谅我 很好。这两种方法都使用闭包来包含局部变量。当您需要访问不再在范围内的对象内的值时,闭包非常有用。使用良好部件中的代码时,变量
值
将在每次使用增量
时递增,尽管函数myObject
已返回 就闭包而言,语法是等价的
但是,如果要键入对象,则必须使用第二种语法
使用第一种语法,您将拥有:
obj1 instanceof myObject === false.
让它成为一个单身汉
而第二种语法将为您提供:
obj1 instanceof myObject === true
使您的对象成为myObject的实例也请阅读以下内容:
obj1 instanceof myObject === true