创建实例并传递给构造函数或在构造函数内部创建
Create instances and pass to the constructors or create inside the constructor?
我不确定我应该遵循哪个。我开始使用require.js并开始看到实例不可见。所以我有 2 个选择:创建并传递给另一个构造函数或在类中创建它们。例如:
define
dep1,
dep2
dep3
dep1 = new Dep1
dep2 = new Dep2
dep3 = new Dep3(dep1, dep2)
或
我应该这样做吗
define(dep3)
dep3 = new Dep3();
在 dep3 文件中:
define(dep1, dep2);
dep3.initialize: function() {
this.dep1 = new Dep1;
this.dep2 = new Dep2;
}
代码非常抽象,但我希望你明白这个想法。那么我应该使用哪个选项以及何时使用?
如果你总是只想创建 dep3,并且 dep3 的每个实例都应该有自己的对 dep1/2 的引用,你应该使用第二种方法。
如果要在多个 Del3 实例之间共享 Dep1 或 Dep2,则应通过构造函数传递它。
这真的取决于你,就 Dep3 实例的逻辑而言,没有区别......
相关文章:
- 对使用函数构造函数创建的函数的内部引用
- 获取使用函数构造函数创建的函数的名称
- 为什么可以't JavaScript构造函数创建字符串或数字
- 为什么用构造函数创建对象会执行对象's方法
- 使用构造函数创建对象和返回对象有区别吗
- 通过父构造函数创建主干继承视图
- 使用构造函数创建的数字没有其值作为属性,请取消String与构造函数的链接
- Javascript构造函数创建对象与常规对象
- 为什么更改函数的 .prototype 会影响已使用该构造函数创建的对象的“实例”
- 在 JavaScript 中从构造函数创建编号对象
- 为什么使用函数构造函数创建的 Javascript 函数无法访问在其外部定义的其他函数
- 如何访问使用构造函数创建的对象的属性
- 从构造函数创建一个匿名函数对象,并将其存储在另一个对象中
- 为什么对象构造函数中的函数会改变以前由该构造函数创建的所有对象?
- 通过JS中的对象构造函数创建对象,该构造函数位于单独的JS文件中
- 使用构造函数创建的JavaScript对象的getter和setter
- 通过对象匹配Javascript regexp中的空白,通过regexp构造函数创建
- 如何使用javascript构造函数创建HTML元素
- 访问由构造函数创建的对象中的属性
- 从构造函数创建的对象返回带有构造函数名称的对象,但没有冒号