javascript - Bagaimana untuk memahami perbezaan antara prototaip dan __proto__?
漂亮男人
漂亮男人 2017-06-30 09:59:49
0
5
1149

Bagaimana untuk memahami perbezaan antara prototaip dan __proto__?

漂亮男人
漂亮男人

membalas semua(5)
迷茫

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.

给我你的怀抱

Setiap objek mempunyai __proto__,而prototype只有Functionmempunyai

漂亮男人

Mungkin 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.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan