2017-07-19 1 views
0

ich nicht Art und Weise das finden, wie ein Objekt in prähistorischer Javascript erstellen (vermutlich 1.2):Objekt erstellen auf JS 1.2 mit Parameterliste

  • Ich habe Array mit Parametern.
  • Ich habe eine Konstruktorfunktion.

Jetzt möchte ich etwas tun:

var constructor = ...; 
return constructor.apply(.?., parameterList); 

oder

var constructor = ...; 
return new constructor(...parameterList); 

Ist es möglich, in JavaScript zu tun? Ich habe einen Hack gefunden, der doppelte Objekte erzeugt.

var constructor = ...; 
var instance = new constructor; 
parameterList.length > 0 ? constructor.apply(instance, parameterList) : null; 
return instance; 

Antwort

0

Verschoben Lösung von Frage zu beantworten:

Edit 1.0

Also habe ich recht interessante Lösung gefunden:

var instance = (function (constructor, parameterList) { 
    var creator = constructor; 

    function Constructor() { 
     creator.apply(this, parameterList); 
    } 

    Constructor.prototype = creator.prototype; 
    return new Constructor; 
}(...constructor function comes here..., parameterList)); 

Einige Nachteil Constructor zeigen könnte all die Zeiten (auch wenn der wahre Typ wahrscheinlich erstellt wurde).

bearbeiten 1.0.1

Credits geht hier: http://tobyho.com/2010/11/22/javascript-constructors-and/