创建模块模式的多个对象

时间:2014-10-28 07:38:55

标签: javascript

请查看以下示例代码:

var sample = (function () {
  var a, b;
  var sample = function (x, y) {
    a = x;
    b = y;
  };
  return {
    add: function () {
      return a + b;
    }
  }
})();

这有什么问题吗?

如何创建样本对象的多个对象?

我应该如何编写构造函数?

我尝试通过以下方式创建对象:

var s = new sample(1, 2);

但是,它会引发错误!

1 个答案:

答案 0 :(得分:0)

模块化模式仅提供单个对象。因此,您无法创建它的实例。

但是,有一种解决方法。上述代码稍作修改即可创建对象。

var sample = function (x, y) {
  var a = x; 
  var b = y;

  return {
    add: function () {
      return a + b;
    }
  }
};

现在,我可以致电

var nine = new sample(4, 5); 
var five = new sample(2, 3);
alert(nine.add());
alert(five.add());