Heim >Web-Frontend >js-Tutorial >Wie verweise ich sicher auf Eigenschaften innerhalb desselben JavaScript-Objekts?

Wie verweise ich sicher auf Eigenschaften innerhalb desselben JavaScript-Objekts?

DDD
DDDOriginal
2024-10-19 12:56:29595Durchsuche

How to Safely Reference Properties Within the Same JavaScript Object?

So referenzieren Sie Eigenschaften im selben Objekt

In JavaScript kann ein Objekt auf seine eigenen Werte verweisen, indem es einen Verweis auf seine Eigenschaften speichert . Der Zugriff auf Eigenschaften innerhalb desselben Objekts mithilfe der Punkt- oder Klammernotation kann jedoch manchmal zu undefinierten Fehlern führen.

Beachten Sie den folgenden Code:

var obj = {
  key1: "it ",
  key2: key1 + " works!"
};

alert(obj.key2);

Dieser Code führt zu einem „key1 is not Fehler „definiert“. Dies liegt daran, dass zum Zeitpunkt der Referenzierung von Schlüssel2 die Eigenschaft Schlüssel1 noch nicht definiert war.

Lösung:

Um dieses Problem zu umgehen, greifen Sie mit a auf die Eigenschaft zu Funktion.

var obj = {
  key1: "it ",
  key2: function() {
    return this.key1 + " works!";
  }
};

alert(obj.key2());

In diesem überarbeiteten Code wird key2 als Funktion innerhalb des Objekts deklariert. Wenn die Funktion „key2“ aufgerufen wird, verwendet sie das Schlüsselwort „this“, um auf die Eigenschaft „key1“ innerhalb desselben Objekts zuzugreifen. Mit diesem Ansatz können Sie Eigenschaften innerhalb desselben Objekts referenzieren, auch wenn sie in einer anderen Reihenfolge definiert sind.

Das obige ist der detaillierte Inhalt vonWie verweise ich sicher auf Eigenschaften innerhalb desselben JavaScript-Objekts?. 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