Rumah > Artikel > hujung hadapan web > Bercakap secara ringkas tentang kemahiran penggunaan semula mod_javascript kod javascript
Terdapat prinsip terkenal untuk penggunaan semula kod, yang dicadangkan oleh GoF: memberi keutamaan kepada komposisi objek daripada warisan kelas. Dalam JavaScript, tiada konsep kelas, jadi penggunaan semula kod tidak terhad kepada warisan kelas. Terdapat banyak cara untuk mencipta objek dalam JavaScript Terdapat pembina, anda boleh menggunakan baharu untuk mencipta objek, dan anda boleh mengubah suai objek secara dinamik. Warisan bukan kelas JavaScript (yang boleh dipanggil model warisan moden) juga mempunyai banyak kaedah penggunaan semula, seperti menggunakan objek lain untuk digabungkan ke dalam objek yang diperlukan, teknologi pencampuran objek, meminjam dan menggunakan semula kaedah yang diperlukan.
Mod lalai mod warisan kelas
Contoh dua pembina Ibu Bapa dan Anak:
Berikut ialah kaedah pelaksanaan fungsi warisan boleh guna semula inherit():
Atribut prototaip di sini harus menunjuk kepada objek, bukan fungsi, jadi ia mesti menunjuk kepada contoh yang dibuat oleh pembina induk, bukan kepada pembina itu sendiri.
Selepas ini, apabila objek Kanak-kanak dicipta, fungsinya akan diperolehi daripada contoh Induk melalui prototaip:
Rantai prototaip selepas memanggil warisan:
Tambahkan lagi sifat kanak-kanak:
Perubahan dalam rantaian prototaip:
Anda boleh mencari nama dalam sifat objek anda sendiri, jadi anda tidak perlu mencari rantai prototaip.
Salah satu kelemahan menggunakan corak di atas ialah sifat dua objek diwarisi pada masa yang sama, iaitu atribut yang ditambahkan pada ini dan atribut prototaip. Selalunya, sifat-sifat ini sendiri tidak diperlukan.
Satu lagi kelemahan ialah penggunaan inherit() inheritance tidak menyokong parameter lulus kepada sub-pembina, contohnya:
Hasil ini tidak dijangkakan walaupun pembina anak boleh menghantar parameter kepada pembina induk, mekanisme pewarisan ini mesti dilaksanakan semula setiap kali objek anak diperlukan, dan ia tidak cekap kerana pada akhirnya Objek induk akan menjadi dicipta semula.
Artikel ini berakhir di sini Kami akan terus mengemas kini mod penggunaan semula kod JavaScript yang lain pada masa hadapan.