Erfordern Javascript-Objektvariablen „dies“?
In Javascript unterscheidet sich das Konzept von Klassen von Sprachen wie C. Es fehlt eine klassenbasierte Vererbung, was der prototypischen Vererbung Platz macht. Objekte und ihre Eigenschaften spielen eine entscheidende Rolle.
Beim Erstellen eines Objekts mithilfe einer Konstruktorfunktion gewährt das Schlüsselwort „this“ Zugriff auf die Eigenschaften des Objekts. Betrachten Sie das folgende Beispiel:
function Foo() { this.bar = 0; }
In diesem Konstruktor verknüpft das Schlüsselwort „this“ die Eigenschaft „bar“ mit dem erstellten Objekt. Bei Nichtbenutzung würde der Fehler „bar is undefiniert Beispielsweise wird die Variable „bar“ lokal deklariert, während „getBar“ eine privilegierte Methode ist, die auf sie zugreift. Diese Technik ermöglicht die Erstellung privater Variablen, die nicht extern geändert werden können.
Es ist wichtig zu beachten, dass auf dem Prototyp deklarierte Methoden keinen Zugriff auf lokale Variablen innerhalb des Konstruktors haben. Sie können jedoch privilegierte Methoden nutzen. Im folgenden Code verwendet die Prototyp-Methode „getFooBar“ die Methode „getBar“, um ein Suffix zu verketten:
function Foo() { var bar = "foo"; this.getBar = function getter() { return bar; }; }
Dies ermöglicht die Erstellung sowohl öffentlicher (Prototyp-Methoden) als auch privater (privilegierte Methoden) Eigenschaften innerhalb eines einzelnen Objekts. Es ist wichtig, die Speichernutzung zu berücksichtigen, da privilegierte Methoden unterschiedliche Funktionsobjekte mit unterschiedlichen Bereichsketten erstellen. Für große Mengen an Instanzen werden Prototypenmethoden bevorzugt.
Das obige ist der detaillierte Inhalt vonWann benötigen JavaScript-Objektvariablen „dies'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!