Wie Wert des Objekts ändern, wenn ein Argument festgelegt ist und nicht, wenn manWert der Funktion ändern oder mit einem Prototyp gleich bleiben?
Beispiel ist:
//parameter is a object
var Main = function(parameter)
{
this.num = 1;
this.string = "this"
}
Main.prototype.constructor = Main;
//source is an object
Main.prototype.copy = function(source)
{
Main.prototype.copy.call(this, source);
this.num = source.num;
this.string = source.string;
return this;
}
//set sub2 to have num is 4 instead of 1
var sub2 = new Main({num:4});
und ich möchte wissen, wie man einen Prototyp einrichten, die einer Änderung des ursprünglichen zulassen Objekt, wenn ein Argument et ist, aber den Standard von der Main-Funktion verwenden, wenn ein Argument nicht gesetzt ist, oder würde ich eine Funktion verwenden, um die Werte auf den Standardwert zu setzen, wenn ein Argument leer ist und dann auf das Parameterobjekt gesetzt wird?
Dank
Bitte zeigen Sie den tatsächlichen Code. 'var object = new object ...' führt immer zu einem Typfehler. – Bergi
das war nur ein Beispiel, der tatsächliche Code stammt aus drei js, wo Sie Parameter deklarieren können, die Sie ändern möchten, zum Beispiel wenn Sie ein Material erstellen, das Sie var mat1 = new THREE.MeshPhongMaterial ({color: 0xffffff}); –
Sie fragen also, was der Unterschied zwischen der Eigenschaft 'colour' des Konstruktorarguments und der Eigenschaft' mat1.color' ist? – Bergi