Heim >Web-Frontend >js-Tutorial >Wie kann ich über String-Namen auf JavaScript-Objekteigenschaften zugreifen?
JavaScript-Objekt: Zugriff auf Variableneigenschaften mithilfe von String-Eigenschaftsnamen
In JavaScript ist es möglich, den Wert einer Objekteigenschaft mithilfe ihres Namens abzurufen Zeichenfolge. Dieser Ansatz ist oft nützlich, wenn Sie mit dynamischen Eigenschaftsnamen arbeiten oder wenn Sie mit verschachtelten Objekten arbeiten, deren Eigenschaftsnamen zur Kompilierzeit nicht bekannt sind.
Um auf eine Objekteigenschaft über ihren Namen als Zeichenfolge zuzugreifen, können Sie die Klammernotation verwenden :
var side = columns['right'];
Diese Notation entspricht der Punktnotation:
var side = columns.right;
Die Klammernotation ist jedoch vielseitiger, da sie eine dynamische Darstellung ermöglicht Greifen Sie auf Eigenschaften basierend auf Variablenwerten oder Funktionsrückgabewerten zu:
var propertyName = 'left'; var propertyValue = columns[propertyName];
Wenn Sie lieber eine Funktion verwenden möchten, um auf Objekteigenschaften über den Zeichenfolgennamen zuzugreifen, finden Sie hier eine einfache Implementierung:
function read_prop(obj, prop) { return obj[prop]; }
Dies Die Funktion verwendet ein Objekt und einen Eigenschaftsnamen als Argumente und gibt den Wert der entsprechenden Eigenschaft zurück.
Verschachtelt Objekte
Beim Arbeiten mit verschachtelten Objekten können Sie über mehrere Klammersätze auf Eigenschaften zugreifen:
var foo = { a: 1, b: 2, c: { x: 999, y: 998, z: 997 } }; var cx = foo['c']['x'];
Undefinierte Eigenschaften
If Es wird versucht, auf eine undefinierte Eigenschaft zuzugreifen. Das Ergebnis ist undefiniert und nicht null oder falsch:
foo['c']['q'] === null // returns false foo['c']['q'] === false // returns false foo['c']['q'] === undefined // returns true
Das obige ist der detaillierte Inhalt vonWie kann ich über String-Namen auf JavaScript-Objekteigenschaften zugreifen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!