Heim >Web-Frontend >js-Tutorial >Einführung in die Lese- und Schreibmethoden von Objekteigenschaften in JavaScript_Javascript-Kenntnissen
In JavaScript können Sie den Punktoperator „.“ oder den Klammeroperator „[]“ verwenden, um die Eigenschaft eines Objekts zu lesen und zu schreiben:
Es ist zu beachten, dass bei Verwendung des eckigen Klammeroperators der Werttyp innerhalb des Operators eine Zeichenfolge oder ein Ausdruck sein muss, der in eine Zeichenfolge konvertiert werden kann:
Im Gegensatz zur Java-Sprache können die Eigenschaften von Objekten in JavaScript dynamisch hinzugefügt oder gelöscht werden. Wenn Sie einer Eigenschaft einen Wert zuweisen und die Eigenschaft nicht vorhanden ist, fügt JavaScript die Eigenschaft dynamisch dem Objekt hinzu:
Eigenschaft in der prototypischen Vererbungskette lesen
Alle Objekte in JavaScript haben ein Prototypobjekt und erben Eigenschaften vom Prototypobjekt. Daher werden die Eigenschaften eines Objekts in JS in zwei Hauptkategorien unterteilt:
1. Das Eigentum des Objekts selbst („Eigenes Eigentum“).
2. Vom Prototypobjekt geerbte Eigenschaft.
Beim Lesen der Eigenschaft eines Objekts gelten folgende Regeln:
1. Suchen Sie die Eigenschaft, die aus der eigenen Eigenschaftssammlung des Objekts gelesen werden muss („Eigene Eigenschaft“). Wenn sie durchsucht werden kann, lesen Sie die Eigenschaft direkt und geben Sie ihren Wert zurück.
2. Wenn die Eigenschaft nicht aus der eigenen Eigenschaftensammlung des Objekts („Eigene Eigenschaft“) durchsucht werden kann, wird die Suche von der Prototypenkette des Objekts aus fortgesetzt, bis die Eigenschaft durchsucht und ihr Wert zurückgegeben wird.
3. Wenn die Eigenschaft nicht aus der eigenen Eigenschaftensammlung des Objekts („Eigene Eigenschaft“) oder aus allen Prototypobjekten des Objekts durchsucht werden kann, wird undefiniert zurückgegeben.
Schreiben von Eigenschaften in der prototypischen Vererbungskette
Beim Schreiben in die Eigenschaft eines JavaScript-Objekts gelten folgende Regeln:
1. Wenn das Objekt selbst über die Eigenschaft verfügt und die Eigenschaft beschreibbar ist, schreiben Sie den neuen Wert in die Eigenschaft. Wenn die Eigenschaft schreibgeschützt ist, wird ein Fehler gemeldet.
2. Wenn das Objekt selbst nicht über die Eigenschaft verfügt und die Eigenschaft nicht in allen seinen Prototypobjekten vorhanden ist, fügen Sie die Eigenschaft zum Objekt hinzu.
3. Wenn das Objekt selbst nicht über die Eigenschaft verfügt, die Eigenschaft jedoch in seinem Prototypobjekt vorhanden und beschreibbar ist, erstellt JS eine neue Eigenschaft im Objekt, d. h. das Objekt überschreibt die Eigenschaft in seinem Prototypobjekt. Der Wert dieser Eigenschaft im Prototypobjekt bleibt unverändert.
4. Wenn das Objekt selbst nicht über die Eigenschaft verfügt, die Eigenschaft jedoch in seinem Prototypobjekt vorhanden und schreibgeschützt ist, wird ein Fehler gemeldet.
5. Wenn das Objekt selbst nicht über die Eigenschaft verfügt, die Setter-Methode der Eigenschaft jedoch in seinem Prototypobjekt vorhanden ist, ruft JS die Setter-Methode im Prototypobjekt auf. Es ist zu beachten, dass beim Ausführen der Setter-Methode bei der Variablenzuweisung die Zuweisungsoperation auf das Objekt selbst wirkt und das Prototypobjekt in keiner Weise geändert wird. Dieses Verhalten kann folgendermaßen verstanden werden: Das Objekt erbt die Setter-Funktion vom Prototyp und führt sie aus.
Aus den obigen Regeln geht hervor, dass bei erfolgreicher Zuweisung der Eigenschaft immer das Objekt selbst als letztes geändert wird und sein Prototyp-Prototypobjekt keine Änderungen aufweist.