Maison  >  Article  >  interface Web  >  Que signifie le prototype js ?

Que signifie le prototype js ?

藏色散人
藏色散人original
2019-05-17 14:22:2815138parcourir

Que signifie le prototype js ?

Le prototype est un concept difficile à comprendre en JavaScript. Il existe de nombreux attributs liés au prototype. Les objets ont des attributs "prototype", les objets fonction ont des attributs "prototype" et les objets prototypes ont ". propriété "constructeur".

Première introduction aux prototypes

En JavaScript, le prototype est aussi un objet Grâce au prototype, l'héritage des propriétés de l'objet peut être réalisé. un attribut interne "[[ Prototype]]", cet attribut correspond au prototype de l'objet.

"[[Prototype]]" est une propriété interne de l'objet et n'est pas accessible directement. Ainsi, afin de visualiser facilement le prototype d'un objet, Firefox et Chrome fournissent l'accesseur __proto__ non standard (non pris en charge par tous les navigateurs) (ECMA a introduit l'accesseur de prototype d'objet standard "Object.getPrototype(object)") .

En JavaScript, l'objet prototype contient également un attribut "constructeur", qui correspond au constructeur qui crée toutes les instances pointant vers le prototype

En JavaScript, chaque fonction possède un attribut prototype Quand. une fonction est utilisée comme constructeur pour créer une instance, la valeur de l'attribut prototype de cette fonction sera attribuée à toutes les instances d'objet en tant que prototype (c'est-à-dire que l'attribut `__proto__` de l'instance est défini), c'est-à-dire la valeur de toutes les instances Le prototype fait référence à l'attribut prototype de la fonction. (****`Seuls les objets fonctionnels auront cet attribut !`****)

Le processus de création de nouveau est divisé en trois étapes

var p = new Person('张三',20);

1. var p={}; Initialiser un objet p.

2. p._proto_=Person.prototype;, définissez l'attribut __proto__ de l'objet p sur Person.prototype

3. 20);Appelez le constructeur Person pour initialiser p.

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!

Déclaration:
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
Article précédent:Qu'est-ce que JavaSEArticle suivant:Qu'est-ce que JavaSE