Я хочу создать новый объект Abc.MainClass, вызывая функцию Abc.MainClass.callMainClass() из другого класса (Abc.CallingClass). Я не хочу использовать новое ключевое слово.
Вот 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);
}