За последние 24 часа нас посетили 17050 программистов и 1834 робота. Сейчас ищут 1637 программистов ...

Вызов конструктора с массивом аргументов

Тема в разделе "JavaScript и AJAX", создана пользователем semnt, 25 июн 2014.

  1. semnt

    semnt Новичок

    С нами с:
    25 дек 2013
    Сообщения:
    93
    Симпатии:
    0
    Здрасти)

    Есть в прототипе объектов функций замечательный метод apply, который позволяет вызвать функцию с определённым контекстом и параметрами.
    Но как прикурить этот метод, когда речь идёт о создании объектов оператором new ?

    Код (Text):
    1.  
    2.         // конструктор класса
    3. function myClass( a, b ) {
    4.     this.c = a + b;
    5. }
    6.  
    7.     // фабрика
    8. function factory( objConstructor, constructorArguments ) {
    9.     // как мне тут оздать объект функцией objConstructor с аргументами constructorArguments ?
    10.    
    11.     // чтобы при вызове: var obj = factory( myClass, [ 10, 20 ] );
    12.     // результат был такой: return new myClass( 10, 20 );
    13.    
    14.     return new objConstructor.apply( {}, constructorArguments ); // - не работает - беда-печаль...
    15. }
    16.  
    17. var obj = factory( myClass, [ 10, 20 ] );
    18. alert( obj.c );
    Т.е. factory не в курсе о формате параметров переданного конструктора, поэтому принимает параметры в массиве.
    Как теперь в ней вызвать конструктор с этими параметрами?

    Пасиба...)