cari

Rumah  >  Soal Jawab  >  teks badan

javascript - Bagaimana untuk memahami perbezaan antara prototaip dan __proto__?

Bagaimana untuk memahami perbezaan antara prototaip dan __proto__?

漂亮男人漂亮男人2739 hari yang lalu1156

membalas semua(5)saya akan balas

  • 迷茫

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

    Apabila pembina mengakses prototaip, ia biasanya diakses melalui prototype Sebagai contoh, kami menambah kaedah pada prototaip

    Person.prototype.getName = function() {}

    Apabila tika baharu mengakses prototaip, dalam sesetengah penyemak imbas yang disokong

    function Person() {}
    
    var p1 = new Person();
    
    p1.__proto__ === Person.prototype   // true

    Kesimpulan: prototype是作为构造函数去访问原型,而__proto__ digunakan sebagai pembina untuk mengakses prototaip, dan __proto__ digunakan sebagai contoh untuk mengakses prototaip. Apabila identiti mereka berbeza, walaupun kaedah memanggil kedua-duanya pada masa yang sama, prototaip berbeza boleh diakses.

    balas
    0
  • 给我你的怀抱

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

    Setiap objek mempunyai __proto__,而prototype只有Functionmempunyai

    balas
    0
  • 漂亮男人

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

    Mungkin anda juga boleh menyemak ini:

    /a/11...

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

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

    balas
    0
  • 某草草

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

    prototype 是构造函数的一个属性,__proto__ 是实例的一个属性。使用构造函数生成的实例的 __proto__ 属性会指向构造函数 prototype Objek yang ditunjuk oleh atribut.

    Nah, itu sahaja.

    balas
    0
  • 伊谢尔伦

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

    Dari segi fungsi:
    prototaip menentukan nilai lalai proto apabila objek ditakrifkan menggunakan pembina atau bentuk literal

    proto adalah asas untuk carian rantai prototaip enjin js

    Jadi perkara utama ialah apabila anda ingin menukar kaedah carian rantaian prototaip, anda boleh menukar kaedah carian rantai prototaip bagi semua objek instantiated berikutnya dengan menukar prototaip pembina, dan gunakan proto untuk mengubah suai carian rantai prototaip daripada satu objek.

    balas
    0
  • Batalbalas