Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 创建实例并传递给构造函数,还是在构造函数内部创建?_Javascript_Require - Fatal编程技术网

Javascript 创建实例并传递给构造函数,还是在构造函数内部创建?

Javascript 创建实例并传递给构造函数,还是在构造函数内部创建?,javascript,require,Javascript,Require,我不确定我应该跟着哪个。我开始使用require.js,并开始看到实例不可见。所以我有两个选项:创建并传递给另一个构造函数,或者在类内部创建它们。例如: define dep1, dep2 dep3 dep1 = new Dep1 dep2 = new Dep2 dep3 = new Dep3(dep1, dep2) 或 我应该这样做吗 define(dep3) dep3 = new Dep3(); 在dep3文件中: define(dep1, dep2);

我不确定我应该跟着哪个。我开始使用require.js,并开始看到实例不可见。所以我有两个选项:创建并传递给另一个构造函数,或者在类内部创建它们。例如:

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实例的逻辑方面没有区别