Rumah > Soal Jawab > teks badan
Bagaimana untuk memahami perbezaan antara prototaip dan __proto__?
迷茫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.
漂亮男人2017-06-30 10:01:49
Mungkin anda juga boleh menyemak ini:
/a/11...
https://developer.mozilla.org...
https://developer.mozilla.org...
某草草2017-06-30 10:01:49
prototype
是构造函数的一个属性,__proto__
是实例的一个属性。使用构造函数生成的实例的 __proto__
属性会指向构造函数 prototype
Objek yang ditunjuk oleh atribut.
Nah, itu sahaja.
伊谢尔伦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.