JavaScript - 不同类型的函数声明

时间:2017-02-10 20:18:58

标签: javascript function object

我想对这些方法之间的差异做一些解释:

返回一个对象:

function Calc1() {
  var main = {
    sum: function(n1, n2) {
      return n1 + n2;
    }
  }
  return main;
}

返回功能:

function Calc2() {
  function main() {};
  main.sum = function(n1, n2) {
    return n1 + n2;
  }
  return main;
}

不退货:

function Calc2() {
  this.sum = function(n1, n2) {
    return n1 + n2;
  }
}

一旦结果相同(至少对于这些例子)。

编辑:

我知道第一个返回一个对象,第二个只能使用 new ,并且还会返回一个对象,第三个返回一个函数。

我想知道每个用途的实际差异,或者这三种形式是否可以互换。 也许在这个愚蠢的例子中它并不重要,但也许每种方法对于不同的场景都更好(或者它可能只是一个愚蠢的问题,我应该研究更多......)。

0 个答案:

没有答案