Dalam JavaScript, jika kita memiliki objek tetapi tidak tahu konstruktornya, bagaimana kita mendapatkan objek prototipe?
Di browser Chrome atau Firefox, kami dapat secara langsung menggunakan atribut __proto__ objek untuk mendapatkan objek prototipe.
Salinan kode adalah sebagai berikut:
<!-Lang: JS->
fungsi f () {};
var foo = f () baru;
peringatan (foo .__ proto__ == f.prototype);
Namun, atribut __proto__ tidak didukung di browser IE sampai IE11.
Jadi di browser yang tidak mendukung atribut __proTo__, bagaimana kita mendapatkan objek prototipe objek? Itu dapat diperoleh secara tidak langsung melalui konstruktor.
Salinan kode adalah sebagai berikut:
<!-Lang: JS->
fungsi f () {};
var foo = f () baru;
alert (foo.constructor.prototype == f.prototype);
Atribut konstruktor bukan atribut objek sendiri, tetapi diperoleh dari objek prototipe ke atas sepanjang rantai prototipe. Properti ini menunjuk ke konstruktor yang sesuai dengan objek prototipe ini. Properti prototipe dari konstruktor menunjuk ke objek prototipe, sehingga kita bisa mendapatkannya secara tidak langsung.
Di atas adalah semua tentang mendapatkan objek prototipe di JavaScript. Saya harap Anda menyukainya.