javascript - Comment comprendre la différence entre prototype et __proto__?
漂亮男人
漂亮男人 2017-06-30 09:59:49
0
5
1157

Comment comprendre la différence entre prototype et __proto__ ?

漂亮男人
漂亮男人

répondre à tous(5)
迷茫

Lorsque le constructeur accède au prototype, il est généralement accessible via prototype Par exemple, nous ajoutons des méthodes au prototype

.
Person.prototype.getName = function() {}

Lorsque la nouvelle instance accède au prototype, dans certains navigateurs pris en charge

function Person() {}

var p1 = new Person();

p1.__proto__ === Person.prototype   // true

Conclusion : prototype是作为构造函数去访问原型,而__proto__ est utilisé comme constructeur pour accéder au prototype, et __proto__ est utilisé comme instance pour accéder au prototype. Lorsque leurs identités sont différentes, même lorsqu'une méthode appelle les deux en même temps, différents prototypes sont accessibles.

给我你的怀抱

Chaque objet a __proto__,而prototype只有Functiona

;
漂亮男人

Peut-être que vous pouvez également consulter ceux-ci :

/a/11...

https://developer.mozilla.org...

https://developer.mozilla.org...

某草草

prototype 是构造函数的一个属性,__proto__ 是实例的一个属性。使用构造函数生成的实例的 __proto__ 属性会指向构造函数 prototype L'objet pointé par l'attribut.

Eh bien, c'est tout.

伊谢尔伦

En termes de fonction :
prototype détermine la valeur par défaut de proto lorsqu'un objet est défini à l'aide d'un constructeur ou d'une forme littérale

proto est la base de la recherche de chaîne de prototypes de moteur js

Le point clé est donc que lorsque vous souhaitez modifier la méthode de recherche de la chaîne de prototypes, vous pouvez modifier la méthode de recherche de chaîne de prototypes de tous les objets instanciés suivants en changeant le prototype du constructeur, et utiliser proto pour modifier la recherche de chaîne de prototypes d'un seul objet.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal