创建模块模式的多个对象
Create multiple objects of module pattern
请查看下面的示例代码:
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);
但是,它抛出了一个错误!
模块化模式只提供一个单例对象。所以,你不能创建它的实例。
但是,有一个变通办法。上面代码中的一个细微更改可以使您创建对象。
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());
相关文章:
- Javascript,访问一个主要对象模块模式中的每个对象
- 未定义应为节点模块的对象
- JavaScript模块模式-如何在使用对象/函数之前激发构造函数/init函数
- 如何访问npm模块抛出的自定义错误对象[error:[object object]]
- 节点模块对象范围:在所有函数之间共享一个对象
- 从模块函数返回未定义的对象
- 将 NodeJS 模块范围变量作为对象访问
- 在节点中.js“模块”始终是一个对象
- 为什么“exports”在nodejs模块中引用与“this”相同的对象
- JavaFX+Javascript:如何将Java对象注入AMD模块
- 如何在ES2015中将模块中的选定函数作为对象导入
- requirejs:与模块类型相同的新对象
- 如何在模块之间共享对象
- NodeJS异步模块:如何在回调中获取results对象
- 是将连接对象传递给模块更好,还是在模块本身内连接更好
- 使用模块模式时,如何创建对象的新实例
- JQuery 对象似乎没有在模块中赋值
- 在模块之间传递对象引用
- 揭示模块模式:对象未定义
- JavaScript模块模式-返回的对象===模块||facade