Maison > interface Web > js tutoriel > Méthodes de définition et de lecture JavaScript

Méthodes de définition et de lecture JavaScript

小云云
Libérer: 2017-12-07 15:46:37
original
1431 Les gens l'ont consulté

Je n'ai jamais utilisé les méthodes setter et getter de Javascript auparavant lors de l'écriture de projets, c'est donc un concept qui doit être compris aujourd'hui, j'ai vu ce point de connaissance dans un livre, mais il était encore vague, alors j'ai décidé de faire des recherches et. étude;

Les propriétés d'un objet Javascript sont composées d'un nom, d'une valeur et d'un ensemble de propriétés. Alors d'abord, jetons un coup d'œil aux deux propriétés de l'objet :

propriétés de données, que nous utilisons souvent et que nous devrions connaître
propriétés d'accesseur, également appelées propriétés d'accesseur

Que sont les propriétés des accesseurs ? C'est un ensemble de fonctions qui obtiennent et définissent des valeurs. Dans ECMAScript5, les valeurs des propriétés peuvent être définies à l'aide d'une ou deux méthodes, les deux méthodes sont des getters et des setters, par conséquent, les propriétés définies par les getters et les setters sont appelées propriétés d'accesseur ;


var o = {
  get val(){
    /*函数体*/
    return ;
  },
  set val(n){
    /*函数体*/
  }
}
Copier après la connexion


Ce qui précède est le moyen le plus simple de définir un attribut d'accesseur. On peut voir que les méthodes getter et setter sont. en fait, c'est une fonction qui remplace la fonction.


var o = {
  a:3,
  get val(){
    return Math.pow(this.a,2);
  }
}

console.log(o.val);//9
o.val = 100;
console.log(o.val);//9
Copier après la connexion


La méthode getter n'a pas de paramètres et a une valeur de retour lorsque la méthode getter est définie séparément, seuls les attributs peuvent le faire ; être obtenu Valeur, la valeur de l'attribut définie ne peut pas être modifiée, garantissant la sécurité des données


var o = {
  a:3,
  set val(n){
    this.a = n;
  }
}

console.log(o.val);//undefined
Copier après la connexion


La méthode setter a des paramètres , là il n'y a pas de valeur de retour ; lorsque la méthode setter est définie seule, la valeur de l'attribut ne peut pas être lue


var o ={
  a:3,
  get val(){
    return Math.pow(this.a,n);
  },
  set val(n){
    this.a = Math.max(this.a,n);
  }
}

console.log(o.a);//3
console.log(o.val);//9
o.val = 10;
console.log(o.a);//10
console.log(o.val);//100
Copier après la connexion


via ce qui précède ; Il ressort du code que this fait référence à son objet (c'est-à-dire "o" dans le code


var o ={
   a:3,
  get val(){
    return Math.pow(this.a,n);
  },
  set val(n){
    this.a = Math.max(this.a,n);
  }
}

o.val = 10;
var foo = Object.create(o);
console.log(foo.val);//10
foo.val = 9;
console.log(foo.val);//10
Copier après la connexion


) ; De plus, les propriétés des accesseurs peuvent également être héritées.

Recommandations associées :

Introduction de base aux getters et setters en Javascript

Exemple de partage de code d'implémentation de getter/setter en JavaScript

Implémentation du code d'un getter/setter PHP5 base class_php skills

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal