Maison  >  Questions et réponses  >  le corps du texte

javascript - Comment comprendre la différence entre prototype et __proto__?

Comment comprendre la différence entre prototype et __proto__ ?

漂亮男人漂亮男人2641 Il y a quelques jours1064

répondre à tous(5)je répondrai

  • 迷茫

    迷茫2017-06-30 10:01:49

    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.

    répondre
    0
  • 给我你的怀抱

    给我你的怀抱2017-06-30 10:01:49

    Chaque objet a __proto__,而prototype只有Functiona

    ;

    répondre
    0
  • 漂亮男人

    漂亮男人2017-06-30 10:01:49

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

    /a/11...

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

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

    répondre
    0
  • 某草草

    某草草2017-06-30 10:01:49

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

    Eh bien, c'est tout.

    répondre
    0
  • 伊谢尔伦

    伊谢尔伦2017-06-30 10:01:49

    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.

    répondre
    0
  • Annulerrépondre