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

Une brève discussion sur la programmation orientée objet en JavaScript

PHPz
Libérer: 2018-09-29 16:31:04
original
1279 Les gens l'ont consulté

Cet article vous montre principalement les informations pertinentes sur la programmation orientée objet JavaScript. Les amis dans le besoin peuvent s'y référer.

ECMA-262 définit un objet comme : "Une collection d'attributs non ordonnés, dont les attributs peuvent inclure des valeurs de base, des objets ou des fonctions"

La façon la plus simple de comprendre les objets est de créer une instance d'objet , puis ajoutez-y des attributs et des méthodes

var person = new Object();
person.name = "Xulei";
person.age = "23";
person.job = "前端工程师";
person.sayName = function () {
    alert(this.name);
}
Copier après la connexion

Vous pouvez également écrire comme ceci

var person = {
     name: "xulei",
     age: 23,
     job: "前端工程",
     sayName: function () {
          alert(this.name)
     }
}
Copier après la connexion

Type d'attribut : attribut de données et accéder à son attribut

1. Attributs des données, il y a 4 caractéristiques qui décrivent leur comportement

[Configurable] : Indique si l'attribut peut être redéfini en le supprimant par suppression, et s'il peut être modifié Les caractéristiques de l'attribut, ou si l'attribut peut être modifié en tant qu'attribut accesseur, la valeur par défaut est true
[Enumerable] : indique si l'attribut peut être renvoyé via for-in, la valeur par défaut ; la valeur est vraie ;
[Writable] : indique si l'attribut peut être renvoyé via for-in, la valeur par défaut est vraie ; Si l'attribut peut être modifié, la valeur par défaut est vraie
[Valeur] : contient la valeur des données de cet attribut. La valeur par défaut n'est pas définie.

var person = {
      name: "xulei"
}
Copier après la connexion

Un objet personne est créé ici, et la valeur est "xulei"

Pour modifier les caractéristiques par défaut de l'attribut, vous devez utiliser l'Object.defineProperty d'ECMAScript5 (l'objet où le l'attribut est localisé, le nom de l'attribut, l'objet descripteur)
L'objet descripteur doit être configurable, énumérable, inscriptible, valeur

var peron = {}
        Object.defineProperty(peron, "name", {
            writable: false,//属性不能被修改
            value: "徐磊-xulei"
        });

        alert(peron.name);//徐磊-xulei
        peron.name = "徐磊";
        alert(peron.name);//徐磊-xulei
Copier après la connexion

Les opérations ci-dessus seront ignorées dans les opérations d'affectation en mode non strict, et sera levée en mode strict Exception

Une fois qu'une propriété est définie comme non configurable, elle ne peut pas être redéfinie comme configurable.

Dans la plupart des cas, il n'est pas nécessaire de profiter de ces fonctionnalités avancées fournies par la méthode Object.defineProperty(). Mais c'est très utile pour comprendre le javascript.

Il est conseillé aux lecteurs de ne pas utiliser cette méthode sur ie8.

2. Accédez à ses attributs, il y a 4 caractéristiques

[Configurable] : Indique si l'attribut peut être supprimé par delete pour redéfinir l'attribut, si les caractéristiques de l'attribut peuvent être modifiées, ou si l'attribut peut être modifié Modifié en attribut accesseur, la valeur par défaut est vraie
[Enumerable] : Indique si l'attribut peut être renvoyé via for-in, la valeur par défaut est vraie
[Get] : Fonction appelée lors de la lecture ;
[Set] : Fonction appelée lors de l'écriture des propriétés.

Ce qui précède représente l'intégralité du contenu de ce chapitre. Pour plus de didacticiels connexes, veuillez visiter le Tutoriel vidéo JavaScript !

É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