返回多个嵌套函数的函数

时间:2015-05-18 09:51:58

标签: javascript jquery

我是javascript的新手,我无法理解以下javascript代码。那么你们有可能让我了解在返回中嵌套多个函数的目的是什么。它是什么,为什么我们需要它以及什么时候应该使用它。

非常感谢提前

function create() {
   var counter = 0;
   return {
      increment: function() {
         counter++;
      },

      print: function() {
         console.log(counter);
      }
   }
}
var c = create();
c.increment();
c.print();

1 个答案:

答案 0 :(得分:0)

要理解这一点,您需要了解两个关键概念:

  1. 在JavaScript函数中first class objects
  2. closures
  3. create函数返回一个对象,该对象有两个字段,这些字段的值实际上是函数,并且都有一个包含counter变量的闭包。因此c变量被赋予一个对象(由create函数创建),并且该对象有两个函数可以简单地调用,它们都引用相同的计数器变量。