Heim >Web-Frontend >js-Tutorial >JavaScript-Prototypen vs. „this': Wann welche verwenden?
Prototyp vs. 'this' in JavaScript
In JavaScript werden Klassen durch Funktionen definiert, die als Konstruktoren dienen. Es gibt jedoch Unterschiede darin, wie Eigenschaften und Methoden innerhalb dieser Funktionen definiert werden.
Verwendung von „this“
Wenn eine Methode direkt innerhalb einer Konstruktorfunktion definiert wird, z im folgenden Beispiel:
var A = function () { this.x = function () { // do something }; };
bezieht sich dies auf die neu erstellte Instanz der Klasse. In diesem Fall erstellt A() eine Instanz und setzt ihre x-Eigenschaft auf die definierte Funktion.
Verwenden eines Prototyps
Im Gegensatz dazu, wenn eine Methode auf der definiert ist Prototypeigenschaft der Konstruktorfunktion:
var A = function () { }; A.prototype.x = function () { // do something };
Prototyp ermöglicht mehreren Instanzen derselben Klasse die gemeinsame Nutzung von Methoden und Eigenschaften. Das Zuweisen einer Funktion zur Prototypeigenschaft bedeutet, dass alle Instanzen der Klasse diese Methode erben.
Hauptunterschiede
Wann die einzelnen Ansätze zu verwenden sind
Das obige ist der detaillierte Inhalt vonJavaScript-Prototypen vs. „this': Wann welche verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!