Возможно ли это? Я создаю единую базовую функцию factory для управления фабриками разных типов (но имеют некоторые сходства), и я хочу иметь возможность передавать аргументы в виде массива на базу factory, которая затем, возможно, создает экземпляр нового объекта заполняя аргументы конструктора соответствующего класса через массив.
В JavaScript можно использовать массив для вызова функции с несколькими аргументами с помощью метода apply:
namespace.myFunc = function(arg1, arg2) { //do something; }
var result = namespace.myFunc("arg1","arg2");
//this is the same as above:
var r = [ "arg1","arg2" ];
var result = myFunc.apply(namespace, r);
Не похоже, что в любом случае для создания экземпляра объекта, использующего apply, есть?
Что-то вроде (это не работает):
var instance = new MyClass.apply(namespace, r);