Maison  >  Article  >  interface Web  >  Un résumé quotidien de l'apprentissage javascript (méthode de définition des attributs)_compétences javascript

Un résumé quotidien de l'apprentissage javascript (méthode de définition des attributs)_compétences javascript

WBOY
WBOYoriginal
2016-05-16 15:31:151389parcourir

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.

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn