Définition. Pour définir les attributs, vous devez utiliser la fonction correspondante, telle que :
Object.defineProperty(obj, "prop", propDesc)
Si obj n'a pas son propre attribut prop, la fonction de cette fonction est d'ajouter son propre attribut prop à obj et d'attribuer une valeur,
Le paramètre propDesc précise les caractéristiques de l'attribut (écriture, énumérabilité, etc.).
Si obj a déjà son propre attribut prop, la fonction de cette fonction est de modifier les caractéristiques de l'attribut existant, y compris sa valeur d'attribut
.
1. définirProperty
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__ et __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
Ce qui précède est le résumé d'aujourd'hui de l'apprentissage de JavaScript, et il continuera à être mis à jour chaque jour. J'espère que vous continuerez à y prêter attention.