создание объекта без new

berkut

Новичок
создание объекта без new

как создать объект, без new? есть конструктор:
function MyClass(arg, arg1){...}
в хтмл разбросаны хаотично
obj = new MyClass(1, 2); - где аргументы и название переменной, в которую помещается объект формируются php.
возникла задача перехватить создание экземпляров этого объекта, и создавать его по опред. событию.
заменой в файлах я заменил new MyClass на func.
в func я получаю массив arguments. и как мне, ну грубо говоря внутри func, исполнить
obj = new MyClass(func.argument);

???
 

dimagolov

Новичок
1. если кол-во аргументов известно, то ничего не мешает написать
obj = new MyClass(func.arguments[0], ...func.arguments[N]);
ну и потом obj возвращаем через return.
2. если кол-во аргументов произвольно, но не более какого-то кол-ва то делаем костыль типа такого:

switch(func.arguments.length) {
case 0:
return new MyClass();
case 1:
return new MyClass(func.arguments[0]);
...
case N:
return new MyClass(func.arguments[0], ...func.arguments[N - 1]);
}
3. еще можно посмотреть в сторону разделения создания объекта и передачи в него параметров, то есть:
obj= new MyClass();
obj.SetParams.apply(obj, func.arguments)

п.с. название темы маразматическое, так как такого не бывает в JS никогда
 

berkut

Новичок
да, я уже допетрил до 1-го варианта - кол-во фиксированное.
 
Сверху