Heim > Web-Frontend > js-Tutorial > Wann sollte ich „this.var' verwenden, um auf Variablen in JavaScript-Objekten zuzugreifen?

Wann sollte ich „this.var' verwenden, um auf Variablen in JavaScript-Objekten zuzugreifen?

Barbara Streisand
Freigeben: 2024-12-19 20:59:36
Original
195 Leute haben es durchsucht

When Should I Use `this.var` to Access Variables in JavaScript Objects?

Objektvariablenzugriff in JavaScript: this.var oder nicht?

Im objektorientierten Programmiermodell von JavaScript fragt man sich häufig, ob alle Variable innerhalb eines Objekts erfordert das Schlüsselwort this.

this.var vs. Local Variablen

Im Gegensatz zum klassenbasierten Modell von C verwendet JavaScript prototypische Vererbung. Bei der prototypischen Vererbung ist alles ein Objekt und Objekte können von anderen Objekten erben.

In JavaScript erstellt eine Konstruktorfunktion, die mit dem Schlüsselwort new aufgerufen wird, neue Objekte und weist ihnen Eigenschaften zu. Das Schlüsselwort this innerhalb eines Konstruktors bezieht sich auf das neu erstellte Objekt.

Methoden, auf die über das Schlüsselwort this zugegriffen werden kann, sind Funktionen, die für Objekte aufgerufen werden. Auf lokale Variablen, die innerhalb des Gültigkeitsbereichs einer Methode deklariert werden, kann dadurch jedoch nicht direkt zugegriffen werden.

Beispiel:

function Foo() {
    this.bar = 0;
    this.getBar = function() {
        return this.bar;
    };
}
Nach dem Login kopieren

In diesem Beispiel bezieht sich this.bar auf die Leiste Eigenschaft der Foo-Instanz. Allerdings verweist bar innerhalb der getBar-Methode auf eine lokale Variable, die standardmäßig nicht definiert ist. Um auf die Eigenschaft zuzugreifen, müssen Sie this.bar verwenden.

Private Attribute durch Abschlüsse

Um private Attribute zu erstellen, ist JavaScript auf Abschlüsse angewiesen. Innerhalb des Gültigkeitsbereichs eines Konstruktors definierte Funktionen haben Zugriff auf die lokalen Variablen dieses Konstruktors. Indem Sie also Funktionen innerhalb eines Konstruktors erstellen und diese als privilegierte Methoden verfügbar machen, können Sie private Attribute verwalten.

Beispiel:

function Foo() {
    var bar = "foo";
    this.getBar = function() {
        return bar;
    };
}
Nach dem Login kopieren

In diesem Beispiel ist bar eine lokale Variable des Foo-Konstruktors. Die getBar-Methode ist eine privilegierte Methode, die Zugriff auf bar hat.

Prototypmethoden und privilegierte Methoden

Auf dem Prototypobjekt definierte Methoden werden von allen Instanzen geerbt. Sie haben jedoch keinen Zugriff auf privilegierte Methoden, es sei denn, der untergeordnete Prototyp erbt vom übergeordneten Prototyp.

Zusammenfassend lässt sich sagen, dass this.var zwar für den Zugriff auf Objekteigenschaften innerhalb von Methoden erforderlich ist, für lokale Variablen jedoch nicht unbedingt erforderlich ist . Privilegierte Methoden, die als Abschlüsse innerhalb des Konstruktors definiert sind, bieten einen Mechanismus zum Erstellen privater Attribute im objektorientierten Programmiermodell von JavaScript.

Das obige ist der detaillierte Inhalt vonWann sollte ich „this.var' verwenden, um auf Variablen in JavaScript-Objekten zuzugreifen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage