通过调用方法创建 class 的实例,不使用 new 关键字
Create instance of class by calling method, without new keyword
我想通过从另一个 class (Abc.CallingClass) 调用函数 Abc.MainClass.callMainClass() 来创建 Abc.MainClass 的新对象。我不想在那里使用 new 关键字。
这里是 Abc.MainClass:
goog.provide('Abc.MainClass');
Abc.MainClass.callMainClass = function() {
var config = null;
return new Abc.MainClass(config);
}
Abc.MainClass= function(config) {
}
这是Abc.CallingClass:
goog.require('Abc.MainClass');
this.mainClass = Abc.MainClass.callMainClass;
this.mainClass();
当然不行。你知道为什么错了吗?我应该如何实现这样的东西?
实际上您的实施顺序不正确。更新如下。
Abc.MainClass = function(config) {
}
Abc.MainClass.callMainClass = function() {
var config = null;
return new Abc.MainClass(config);
}
我想通过从另一个 class (Abc.CallingClass) 调用函数 Abc.MainClass.callMainClass() 来创建 Abc.MainClass 的新对象。我不想在那里使用 new 关键字。
这里是 Abc.MainClass:
goog.provide('Abc.MainClass');
Abc.MainClass.callMainClass = function() {
var config = null;
return new Abc.MainClass(config);
}
Abc.MainClass= function(config) {
}
这是Abc.CallingClass:
goog.require('Abc.MainClass');
this.mainClass = Abc.MainClass.callMainClass;
this.mainClass();
当然不行。你知道为什么错了吗?我应该如何实现这样的东西?
实际上您的实施顺序不正确。更新如下。
Abc.MainClass = function(config) {
}
Abc.MainClass.callMainClass = function() {
var config = null;
return new Abc.MainClass(config);
}