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

Propriétés de l'accesseur d'objet dans ECMAScript5 : introduction aux compétences getters et setters_javascript

WBOY
Libérer: 2016-05-16 16:28:16
original
1788 Les gens l'ont consulté

Il s'agit évidemment d'un sujet qui n'a rien à voir avec IE (sauf IE avancé). Néanmoins, les étudiants intéressés devraient se réunir pour en savoir plus sur l'implémentation des getters et setters dans le standard ECMAScript5. Dans un objet, les méthodes les plus couramment utilisées pour faire fonctionner les propriétés ou les méthodes sont la lecture (référence) et l'écriture. Par exemple, o.get est une opération de lecture, tandis que o.set = 1 est une opération d'écriture. En fait, dans la mise en œuvre des derniers navigateurs grand public, à l'exception d'IE, la valeur clé de n'importe quel objet peut être remplacée par des méthodes getter et setter, appelées « attribut d'accesseur ».

Il ne fait aucun doute que le getter est responsable de l'interrogation de la valeur. Il ne prend aucun paramètre, tandis que le setter est responsable de la définition de la valeur clé. La valeur est transmise sous forme de paramètres. tous les retours sont invalides. Contrairement aux attributs ordinaires, lorsqu'un attribut de mémoire déclare uniquement get ou set, il ne peut pas avoir à la fois la lecture et l'écriture. Lorsqu'il n'a qu'une méthode getter, il est uniquement en lecture seule. De même, lorsqu'il n'a qu'une méthode getter, il l'est. uniquement en lecture seule. De même, lorsqu'il n'a qu'une méthode getter, il s'agit uniquement d'une méthode setter, alors ce que vous lisez sera toujours indéfini. Comment déclarer les propriétés du stockage objet ? Le moyen le plus rapide est d'utiliser la syntaxe des littéraux d'objet pour écrire. Veuillez consulter le morceau de code suivant :

.

Copier le code Le code est le suivant :

var oo = {
Nom : 'Xianxin',
Obtenez du sexe(){
         renvoie « homme » ;
>
};
//Évidemment, cela n'est pas autorisé, car Xianxin ne veut pas que le monde extérieur change le fait qu'il est un homme, il définit donc uniquement la fonction en lecture seule pour le sexe
oo.sex = 'femme';
console.log(oo.sex); //Le résultat est toujours homme

Ce qui est intéressant, c'est que cela bouleverse notre compréhension précédente, c'est-à-dire que le mot-clé function n'est pas utilisé lors de la définition de la méthode. En fait, get ou set ici peuvent être compris comme des fonctions dans deux états différents : le côté inclusif (écriture) et le côté sûr (lecture). Lorsqu'un tout est démembré en différentes formes, cela signifie que nous n'avons peut-être pas besoin de suivre. tradition dans la présentation, nous n'utilisons donc pas de deux-points pour séparer les clés et les valeurs. Alors continuez avec l’exemple ci-dessus. Comment allez-vous devenir à la fois lecture et écriture en fonction des attributs de mémoire ? Peut-être que le paragraphe suivant vous donnera la réponse :

Copier le code Le code est le suivant :

var oo = {
Nom : 'Xianxin',
Obtenez du sexe(){
Si (this.sexx) {
                return this.sexx
         }autre{
                retourne 'homme'
>
}, définissez le sexe(val){
Ceci.sexx = val;
>
};
//Oh, il est tellement tolérant que même si les gens changent de sexe, il l'acceptera
oo.sex = 'femme';
console.log(oo.sex); //Résultat femme

Peut-être penserez-vous que cela est inutile, car nous pouvons complètement ignorer get et set et laisser directement la méthode sex avoir deux autorisations. Mais la raison pour laquelle nous séparons get et set est de comprendre plus clairement l'interprétation plus rigoureuse d'ECMAScript5 des opérations de valeur de clé d'objet JavaScript. Bien sûr, en Chine, polluée par l'IE, les nouvelles technologies grand public semblent toujours hors de propos. Dans le développement de projets réels, vous n'utiliserez peut-être jamais get et set, mais qui peut garantir qu'elles ne le feront pas à l'avenir...

É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!