Heim > Artikel > Web-Frontend > Was sind die Nachteile von Javascript-Konstruktormethoden?
Der Nachteil des JavaScript-Konstruktors besteht darin, dass jedes Mal, wenn ein Objekt instanziiert wird, die Eigenschaften und Methoden zwischen den Instanzen kopiert werden, obwohl auf die im Konstruktor definierten Eigenschaften und Methoden zugegriffen werden kann kopiert, was zu einer Verschwendung von Systemressourcen führt.
Die Betriebsumgebung dieses Tutorials: Windows 10-System, JavaScript-Version 1.8.5, Dell G3-Computer.
Der Vorteil besteht darin, dass das Objekt durch Instanzen identifiziert werden kann. Der Nachteil besteht darin, dass die Eigenschaften und Methoden jedes Mal kopiert werden Aus den obigen Ausführungsergebnissen können wir ersehen, dass obj1.showUserName und obj.showUserName nicht identisch sind [in js vergleicht der Referenztyp die Adresse und die Funktion ist ein Referenztyp], es gibt jedoch zwei verschiedene
Speicheradressen Da die Attribute jedes Objekts unterschiedlich sind, stellt dies kein Problem dar, aber die Methoden führen denselben Code aus, sodass es nicht erforderlich ist, ihn zu kopieren. Dies ist der NachteilErweitern Sie Ihr Wissen
Konstruktor: Wenn Sie eine Funktion verwenden, um ein neu erstelltes Objekt zu initialisieren (mit dem neuen Operator), nennen wir es einen Konstruktorfunction CreateObj(uName) {
this.userName = uName;
this.showUserName = function () {
return this.userName;
}
}
var obj1 = new CreateObj('ghostwu');
var obj2 = new CreateObj('卫庄');
console.log( obj1.showUserName === obj2.showUserName ); //false
Wenn der Konstruktor mit new (Ausführen von var p = new Person( )), passiert innerhalb der Funktion Folgendes: 1. Erstellen Sie ein leeres Objekt
function Person(){ this.name = "zqq"; this.age = 28; } var p = new Person();
2. Diese Variable zeigt auf das Objekt p
var p = {};
3.p erbt den Prototyp des Konstruktors Person()
Person.call(p)
4. Führen Sie den Code im Konstruktor Person() aus. Unterschiede zu gewöhnlichen Funktionen:
1 Der Konstruktor wird mit dem Schlüsselwort new aufgerufen kann innerhalb des Konstruktors verwendet werden. Es wird nicht empfohlen, dies innerhalb der normalen Funktion zu verwenden, da dies auf das globale Fensterobjekt verweist, das versehentlich einige globale Variablen oder Funktionen zum Fenster hinzufügt Das neue Objekt, das innerhalb der normalen Funktion erstellt wird, ist ein Fenster-Globalobjekt. 3 Der Konstruktor muss standardmäßig keinen Rückgabewert zurückgeben Dies ist standardmäßig ein neues Instanzobjekt.Wenn eine gewöhnliche Funktion keinen Rückgabewert hat, gibt sie undefiniert zurück.Wenn return verwendet wird, unterscheidet sich der Rückgabewert je nach Art des Rückgabewerts.
[ Verwandte Empfehlungen:Javascript-Video-Tutorial
,Web-Frontend
]Das obige ist der detaillierte Inhalt vonWas sind die Nachteile von Javascript-Konstruktormethoden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!