Heim >Web-Frontend >js-Tutorial >Wann und warum müssen Sie „this' verwenden? in JavaScript-Objektvariablen?

Wann und warum müssen Sie „this' verwenden? in JavaScript-Objektvariablen?

Linda Hamilton
Linda HamiltonOriginal
2024-12-31 08:38:17279Durchsuche

When and Why Do You Need to Use

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn