Verwenden Sie „dies.“ in Javascript-Objektvariablen
Im Gegensatz zu C muss Variablen in Javascript explizit das Präfix „this“ vorangestellt werden. um sich auf das Objekt zu beziehen, zu dem sie gehören. Dies ist ein wesentlicher Unterschied in der objektorientierten Programmierung zwischen den beiden Sprachen.
Das Schlüsselwort „this“ in Javascript stellt den aktuellen Kontext dar, also das Objekt, für das die Funktion aufgerufen wird. Wenn Sie eine Variable ohne „this.“ deklarieren, wird sie zu einer lokalen Variablen innerhalb dieses Funktionsbereichs. Um innerhalb einer Funktion auf eine Eigenschaft des Objekts zuzugreifen, müssen Sie „this“ verwenden. gefolgt vom Eigenschaftsnamen.
Betrachten Sie den folgenden Code:
function foo() { bar = 0; // This creates a local variable this.getBar = function() { return bar; } // This creates a privileged method }
In diesem Code ist „bar“ eine lokale Variable innerhalb der „foo“-Funktion, während „getBar“ eine ist privilegierte Methode, die Zugriff auf die lokale Variable hat. Ohne die Verwendung von „this.“ wäre „getBar“ nicht in der Lage, auf „bar“ zuzugreifen.
Dieser Ansatz der Verwendung von „this.“ ist für alle Variablen erforderlich, auf die Sie innerhalb von Objektmethoden zugreifen möchten. Mit Javascript können Sie jedoch Methoden für das Prototypobjekt anstelle von Instanzobjekten definieren. Auf dem Prototyp definierte Methoden werden von allen Instanzen dieses Objekts geerbt. In diesem Fall können Sie die Verwendung von „this“ vermeiden. für diese Methoden. Hier ist ein Beispiel:
function Foo() { this.bar = 0; } Foo.prototype.getBar = function() { return this.bar; }
In diesem Code ist „getBar“ im Prototyp definiert, sodass Instanzen von „Foo“ diese Methode erben und auf „bar“ zugreifen können, ohne „this“ voranzustellen.
Kurz gesagt, verwenden Sie „dies“. ist wichtig für den Zugriff auf Objekteigenschaften innerhalb von Funktionen/Methoden, die in Instanzobjekten definiert sind. Dies kann jedoch vermieden werden, indem stattdessen Methoden auf dem Prototyp definiert werden.
Das obige ist der detaillierte Inhalt vonWann und warum müssen Sie „this' verwenden? in JavaScript-Objektvariablen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!