Definition. Um Attribute zu definieren, müssen Sie die entsprechende Funktion verwenden, wie zum Beispiel:
Object.defineProperty(obj, "prop", propDesc)
Wenn obj keine eigene Attributstütze hat, besteht die Funktion dieser Funktion darin, obj eine eigene Attributstütze hinzuzufügen und einen Wert
zuzuweisen
Der Parameter propDesc gibt die Eigenschaften des Attributs an (Schreibbarkeit, Aufzählbarkeit usw.).
Wenn obj bereits über eine eigene Attribut-Requisite verfügt, besteht die Funktion dieser Funktion darin, die Eigenschaften des vorhandenen Attributs, einschließlich seines Attributwerts
, zu ändern
1. defineProperty
var book = { _year: 2004, edition: 1 }; Object.defineProperty(book, "year", { get: function(){ return this._year; }, set: function(newValue){ if (newValue > 2004) { this._year = newValue; this.edition += newValue - 2004; } } }); book.year = 2005; alert(book.edition); //2
2. __defineSetter__ und __defineGetter__
var book = { _year: 2004, edition: 1 }; //legacy accessor support book.__defineGetter__("year", function(){ return this._year; }); book.__defineSetter__("year", function(newValue){ if (newValue > 2004) { this._year = newValue; this.edition += newValue - 2004; } }); book.year = 2005; alert(book.edition); //2
Das Obige ist die heutige Zusammenfassung des JavaScript-Lernens und wird weiterhin täglich aktualisiert. Ich hoffe, Sie werden weiterhin aufmerksam sein.