javascript函数对象方法

时间:2012-01-09 10:56:26

标签: javascript

嘿,我刚接触javascript,我在javascript中偶然发现了这段代码。我不明白如何在函数内部增加和打印方法。这是否意味着创造是一个对象?

 function create() {
     var counter = 0;
     return {
         increment: function () {
             counter++;
         },
         print: function () {
             console.log(counter);
         }
     }
 }
 var c = create();
 c.increment();
 c.print(); // 1

2 个答案:

答案 0 :(得分:1)

“create()”函数返回对象。它返回的对象有两个属性,“increment”和“decrement”,两者都有值作为值。这些函数对“create()”中定义的变量“counter”进行操作。

每次调用“create()”都会实例化一个名为“closure”的新上下文。上下文包含“counter”变量的新副本。因此,从调用“create()”返回的对象可以访问自己的私有“计数器”实例。

答案 1 :(得分:0)

您的关键字关闭

javascript中的闭包很容易被覆盖,例如在How do JavaScript closures work?

相关问题