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.
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.
Apabila pembina mengakses prototaip, ia biasanya diakses melalui
prototype
Sebagai contoh, kami menambah kaedah pada prototaipApabila tika baharu mengakses prototaip, dalam sesetengah penyemak imbas yang disokong
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.Setiap objek mempunyai
__proto__
,而prototype
只有Function
mempunyaiMungkin anda juga boleh menyemak ini:
/a/11...
https://developer.mozilla.org...
https://developer.mozilla.org...
prototype
是构造函数的一个属性,__proto__
是实例的一个属性。使用构造函数生成的实例的__proto__
属性会指向构造函数prototype
Objek yang ditunjuk oleh atribut.Nah, itu sahaja.
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.