Artikel sebelumnya telah memperkenalkan warisan kombinasi, dan sekarang kita akan berbicara tentang warisan yang tersisa.
Warisan prototipe
Panggil fungsi dan terima objek yang dikembalikan oleh fungsi ini. Prototipe objek ini adalah objek parameter yang diteruskan ke fungsi.
menyukai:
function personObject (o) {function f () {} f.prototype = o; kembalikan f baru ();} var person = {name: "nicholas", friends: ["shelby", "court", "van"]} var person_one = personObject (orang);Dari kode di atas, kita tahu bahwa orang adalah prototipe orang_one. ES5 telah menambahkan metode untuk menormalkan pewarisan prototipe. Metode ini adalah objek.create (). Metode ini memiliki dua parameter. Yang pertama adalah objek sebagai prototipe objek baru, seperti orang di atas, dan yang kedua adalah objek yang mendefinisikan atribut tambahan untuk objek baru. Parameter kedua adalah opsional.
menyukai:
var person_one = object.create (orang, {name: {value: "jon"}});Ketika Anda hanya ingin menyimpan satu objek yang mirip dengan yang lain, Anda dapat menggunakan warisan prototipe.
Warisan parasit
Menerapkan prototipe warisan dalam suatu fungsi, dan kemudian tambahkan properti dan metode Anda sendiri ke objek yang diterima.
menyukai:
fungsi createanother (o) {var person_one = personObject (o); person_one.sayhi = function () {alert ("hai"); } return person_one;}Warisan kombinasi parasit
Kombinasi warisan juga memiliki kerugiannya. Ini mengimplementasikan dua pewarisan atribut, dan pewarisan kombinasi parasit menghindari masalah ini. Contoh mewarisi atribut melalui konstruktor, sedangkan metode prototipe diwarisi melalui pewarisan parasit.
menyukai:
fungsi warisan (subtipe, supertype) {var prototipe = objek (supertype.prototype); prototipe.constructor = subtipe; subtype.prototype = prototipe;}Dengan memanggil fungsi di atas, prototipe subtye.prototype adalah supertype.prototype, yang melengkapi pewarisan metode prototipe.
Analisis JavaScript di atas tentang warisan adalah semua konten yang saya bagikan dengan Anda. Saya harap Anda dapat memberi Anda referensi dan saya harap Anda dapat mendukung wulin.com lebih lanjut.