Rumah > Artikel > hujung hadapan web > Contoh analisis kaedah call() dan apply() dalam pengetahuan javascript_Basic
1. Definisi kaedah
kaedah panggilan:
Sintaks: panggil([thisObj[,arg1[, arg2[, [,.argN]]]]])
Definisi: Panggil kaedah objek untuk menggantikan objek semasa dengan objek lain.
Penerangan:
Kaedah panggilan boleh digunakan untuk memanggil kaedah bagi pihak objek lain. Kaedah panggilan menukar konteks objek fungsi daripada konteks awal kepada objek baharu yang ditentukan oleh thisObj.
Jika tiada parameter thisObj disediakan, objek Global digunakan sebagai thisObj.
kaedah pakai:
Sintaks: apply([thisObj[,argArray]])
Definisi: Gunakan kaedah objek untuk menggantikan objek semasa dengan objek lain.
Penerangan:
Jika argArray bukan tatasusunan yang sah atau bukan objek argumen, TypeError akan berlaku.
Jika argArray mahupun thisObj tidak disediakan, objek Global akan digunakan sebagai thisObj dan tiada parameter boleh dilalui.
2. Contoh biasa
a、
add.call(sub,3,1);
Maksud contoh ini ialah menggantikan sub dengan add, add.call(sub,3,1) == add(3,1), jadi hasil yang dijalankan ialah: alert(4); Fungsi sebenarnya adalah objek, dan nama fungsi adalah rujukan kepada objek Fungsi.
b、
Salin kod
Salin kod
Ia sangat mudah, gunakan dua panggilan untuk mencapai berbilang warisan
Sudah tentu, terdapat cara lain untuk mewarisi js, seperti menggunakan rantai prototaip Ini bukan dalam skop artikel ini, saya hanya menerangkan penggunaan panggilan di sini. Bercakap tentang panggilan, dan sudah tentu terpakai, kedua-dua kaedah ini pada asasnya bermaksud perkara yang sama Perbezaannya ialah parameter panggilan kedua boleh dari mana-mana jenis, manakala parameter kedua permohonan mestilah array, atau ia boleh menjadi argumen<.>
Dan penerima, pemanggil..
Ringkasnya: perkara yang sama: kesan kedua-dua kaedah adalah betul-betul sama
Perbezaan: Parameter yang diluluskan oleh kaedah adalah berbeza