Maison > interface Web > js tutoriel > Comprendre la chaîne de prototypes javascript en termes simples_compétences javascript

Comprendre la chaîne de prototypes javascript en termes simples_compétences javascript

WBOY
Libérer: 2016-05-16 16:00:04
original
1297 Les gens l'ont consulté

L'exemple de cet article décrit la chaîne de prototypes de javaScript. Partagez-le avec tout le monde pour votre référence. L'analyse spécifique est la suivante :

Pour la chaîne de prototypes JavaScript, je pensais que c'était une chose très profonde, et je ne l'ai jamais compris clairement. Après avoir lu quelques introductions aujourd'hui, j'ai trouvé cette image, ce qui signifie qu'aucun langage ne peut l'expliquer plus clairement que celle-ci. image.

Après avoir regardé cette image, j'ai soudain une compréhension qualitative du javascript.

Il existe deux types de chaînes de prototypes JavaScript : explicites et implicites :

Chaîne de prototypes explicites : est notre prototype commun

Chaîne de prototypes implicite : Elle est inaccessible dans des circonstances normales, c'est-à-dire invisible. Elle est accessible via __proto__ sous FireFox. La chaîne de prototypes implicite est utilisée pour rechercher la chaîne de prototypes dans le moteur javascript ; . , défini en affichant la chaîne prototype

1. La notion de prototype et __proto__

Le prototype est un attribut de la fonction (chaque fonction possède un attribut prototype). Cet attribut est un pointeur pointant vers un objet. C'est une propriété qui affiche le prototype de l'objet modifié.

__proto__ est un attribut intégré appartenant à un objet (veuillez noter : prototype est un attribut intégré d'une fonction, et __proto__ est un attribut intégré d'un objet). C'est un attribut utilisé en interne par JS). pour trouver la chaîne prototype.

Chrome et FF peuvent accéder à l'attribut __proto__ de l'objet, mais IE ne le peut pas.

2. Le nouveau processus

var Person = function(){};
var p = new Person();
Copier après la connexion

Le nouveau processus est divisé en trois étapes suivantes :

(1) var p={}; Autrement dit, initialiser un objet p
(2) p.__proto__ = Personne.prototype;
(3) Person.call(p); c'est-à-dire construire p, qui peut aussi être appelé initialisation p

La clé réside dans la deuxième étape, prouvons-le :

var Person = function(){};
var p = new Person();
alert(p.__proto__ === Person.prototype);
Copier après la connexion

Ce code retournera vrai. Cela montre que l'étape 2 est correcte.

3. Exemple

var Person = function(){};
Person.prototype.sayName = function() {
  alert("My Name is Jacky");
};
Person.prototype.age = 27;
var p = new Person();
p.sayName();
Copier après la connexion

p est un objet qui fait référence à Person. Nous avons défini une méthode sayName et un attribut age sur le prototype de Person. Lorsque nous exécuterons p.age, nous rechercherons d'abord à l'intérieur de celui-ci (c'est-à-dire s'il n'est pas trouvé, nous le retracerons le long du prototype). chaîne.

Comment le traçage ascendant fonctionne-t-il ici vers le haut ? Ici, nous devons utiliser l'attribut __proto__ pour créer un lien vers le prototype (c'est-à-dire Person.prototype) pour la recherche. J'ai enfin trouvé l'attribut age sur le prototype.

J'espère que cet article sera utile à la conception de la programmation JavaScript de chacun.

É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