Maison > interface Web > js tutoriel > Quand les variables d'objet JavaScript ont-elles besoin de « ce » ?

Quand les variables d'objet JavaScript ont-elles besoin de « ce » ?

Barbara Streisand
Libérer: 2024-12-15 08:23:10
original
617 Les gens l'ont consulté

When Do JavaScript Object Variables Need

Les variables d'objet Javascript nécessitent-elles "ceci" ?

En Javascript, le concept de classes diffère de celui des langages comme C . L'héritage basé sur les classes fait défaut, laissant la place à l'héritage prototypique. Les objets et leurs propriétés jouent un rôle crucial.

Lors de la construction d'un objet à l'aide d'une fonction constructeur, le mot-clé "this" donne accès aux propriétés de l'objet. Prenons l'exemple suivant :

function Foo() {
    this.bar = 0;
}
Copier après la connexion

Dans ce constructeur, le mot-clé "this" associe la propriété "bar" à l'objet créé. Ne pas l'utiliser entraînerait l'erreur "la barre est undefined."

Cependant,开发者发现了一个技巧,使用构造函数作为闭包,创造私人"属性":

function Foo() {
    var bar = "foo";
    this.getBar = function getter() {
        return bar;
    };
}
Copier après la connexion

Dans ce Par exemple, la variable "bar" est déclarée localement, tandis que "getBar" est une méthode privilégiée qui y accède. Cette technique permet la création de variables privées non modifiables en externe.

Il est essentiel de noter que les méthodes déclarées sur le prototype n'ont pas accès aux variables locales au sein du constructeur. Ils peuvent cependant recourir à des méthodes privilégiées. Dans le code suivant, la méthode prototype "getFooBar" utilise la méthode "getBar" pour concaténer un suffixe :

Foo.prototype.getFooBar = function() {
    return this.getBar() + "bar";
}
Copier après la connexion

Cela permet la création de propriétés à la fois publiques (méthodes prototypes) et privées (méthodes privilégiées). au sein d'un seul objet. Il est important de prendre en compte l'utilisation de la mémoire, car les méthodes privilégiées créent des objets de fonction distincts avec des chaînes de portée différentes. Pour un grand nombre d'instances, les méthodes prototypes sont préférées.

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!

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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal