Javascript tidak membenarkan berbilang fungsi dengan nama yang sama. Ini menimbulkan persoalan tentang cara melaksanakan lebihan fungsi dalam Javascript. Di sini kami meneroka strategi untuk mengatasi had ini.
Sifat dinamik Javascript membolehkan fungsi menyesuaikan diri dengan bilangan dan jenis hujah yang diluluskan. Anda boleh mencapai lebihan muatan dengan menyemak kehadiran atau jenis argumen, seperti melalui kaedah seperti arguments.length atau Object.keys.
ES6 memperkenalkan nilai argumen lalai. Dengan menetapkan nilai lalai untuk argumen pilihan, anda boleh mengendalikan kes di mana argumen tidak disediakan.
Walaupun Javascript tidak menyokong argumen bernama secara langsung, anda boleh mensimulasikannya dengan menghantar objek mengandungi sifat yang dinamakan kepada fungsi. Ini membenarkan anda untuk menyatakan hanya hujah yang anda perlukan, tanpa mengambil kira susunan.
Argumen Boleh Ubah
Menggunakan pernyataan dan teknik bersyarat seperti semakan hujah, anda boleh melaksanakan tingkah laku yang berbeza berdasarkan hujah yang dihantar kepada fungsi. Ini membolehkan anda mencipta satu fungsi yang mengendalikan berbilang senario, seperti yang dilihat dalam kaedah obj.data() jQuery.
Argumen Lalai
ES6 menambah sokongan bahasa untuk lalai nilai argumen, yang boleh memudahkan dan meningkatkan kebolehbacaan kod.
Argumen Dinamakan
Dengan menghantar objek sebagai argumen, anda boleh mensimulasikan argumen bernama. Di dalam fungsi, anda boleh menggunakan sifat objek untuk mengakses nilai yang diingini, tanpa mengira susunan ia dihantar.
Kesimpulan
Fungsi lebihan dalam JavaScript mungkin melalui teknik yang diterangkan, masing-masing dengan kekuatan dan kes penggunaannya. Dengan memanfaatkan argumen pembolehubah, argumen lalai dan argumen bernama, anda boleh mencipta fungsi boleh guna semula yang mengendalikan pelbagai senario dan menjadikan kod anda lebih fleksibel.
Atas ialah kandungan terperinci Bolehkah Anda Membebankan Fungsi dalam Javascript, Dan Bagaimana?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!