Maison >interface Web >js tutoriel >Comprendre la chaîne de prototypes javascript en termes simples_compétences javascript
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();
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);
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();
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.