Maison > interface Web > js tutoriel > le corps du texte

Comment utiliser les méthodes setter et getter en JavaScript

亚连
Libérer: 2018-06-23 16:57:59
original
1620 Les gens l'ont consulté

Cet article présente principalement en détail les méthodes setter et getter de JavaScript, qui ont une certaine valeur de référence. Les amis intéressés peuvent s'y référer

Je ne l'ai jamais utilisé auparavant lors de l'écriture de projets. de Javascript est un concept qu'il faut comprendre. Aujourd'hui j'ai vu ce point de connaissance dans un livre, mais il était encore vague, j'ai donc décidé de l'étudier

Propriétés des objets Javascript Il se compose d'un nom, une valeur et un ensemble de propriétés. Alors d'abord, jetons un coup d'œil aux deux propriétés des objets :

propriétés de données, que nous utilisons souvent, et vous devriez être familier avec les
propriétés d'accesseur, également appelées propriétés d'accesseur

Qu'est-ce que l'attribut Storage Getter ? 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 des fonctions qui remplacent 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, seule la valeur de l'attribut peut être obtenue et 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 et aucune 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
Vous pouvez la voir à travers le code ci-dessus ; out, où 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
Ce qui précède est ce que j'ai compilé pour tout le monde. J'espère que cela sera utile à tout le monde à l'avenir.

Articles connexes :

À propos de la façon dont Vue.js implémente le chargement par défilement infini

Chrome Firefox est livré avec des outils de débogage (tutoriel détaillé)

Comment écrire une fonction de requête Ajax en utilisant JS

Comment créer une vue en utilisant vue-cli+webpack

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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!