Rumah > Artikel > hujung hadapan web > Bagaimanakah saya menghantar parameter kepada fungsi panggil balik dalam JavaScript?
Dalam JavaScript, fungsi panggil balik ialah fungsi yang dihantar sebagai argumen kepada fungsi lain. Apabila fungsi lain memanggil panggil balik, panggil balik boleh mengakses parameter yang dihantar kepadanya.
Untuk menggambarkan, mari buat fungsi yang dipanggil tryMe yang mengambil dua parameter dan memaklumkan nilainya:
function tryMe(param1, param2) { alert(param1 + " and " + param2); }
Sekarang, mari kita takrifkan fungsi dipanggil callbackTester yang mengambil fungsi panggil balik sebagai hujah dan dua parameter tambahan:
function callbackTester(callback, param1, param2) { callback(param1, param2); }
Untuk menghantar parameter kepada panggil balik, kami hanya menggunakan callbackTester dengan parameter yang dikehendaki:
callbackTester(tryMe, "hello", "goodbye");
Ini akan memanggil fungsi tryMe dengan parameter "hello" dan "selamat tinggal" dan memaklumkan nilainya.
Menggunakan pembolehubah argumen
Jika anda memerlukan lebih fleksibiliti dalam menghantar parameter kepada panggilan balik, anda boleh menggunakan pembolehubah argumen. Pembolehubah ini mengandungi tatasusunan semua argumen yang dihantar kepada fungsi, termasuk parameter eksplisit dan sebarang argumen tambahan yang diluluskan apabila menggunakan fungsi:
function tryMe(param1, param2) { alert(param1 + " and " + param2); } function callbackTester(callback) { callback(arguments[1], arguments[2]); } callbackTester(tryMe, "hello", "goodbye");
Dalam contoh ini, kami memanggil callbackTester dengan satu argumen, yang ialah fungsi tryMe. Walau bagaimanapun, pembolehubah argumen mengandungi ketiga-tiga parameter yang dihantar kepada callbackTester, membolehkan kami mengekstrak parameter yang kami perlukan:
Dengan menggunakan pembolehubah argumen, kita boleh mendapatkan semula parameter yang sesuai secara dinamik untuk dihantar ke panggilan balik, tidak kira berapa banyak atau jenis parameter yang dihantar ke fungsi panggilan.
Atas ialah kandungan terperinci Bagaimanakah saya menghantar parameter kepada fungsi panggil balik dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!