Rumah >hujung hadapan web >tutorial js >Bagaimanakah Saya Boleh Meluluskan Argumen Tambahan kepada Fungsi Panggilan Balik JavaScript?

Bagaimanakah Saya Boleh Meluluskan Argumen Tambahan kepada Fungsi Panggilan Balik JavaScript?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-08 01:52:14891semak imbas

How Can I Pass Additional Arguments to a JavaScript Callback Function?

Melalukan Argumen Tambahan kepada Fungsi Panggilan Balik

Dalam JavaScript, fungsi panggil balik memainkan peranan penting dalam pengaturcaraan tak segerak dan pengendalian acara. Walaupun fungsi panggil balik lazimnya menerima satu hujah, kadangkala anda perlu menyampaikan hujah tambahan kepada mereka.

Pertimbangkan senario berikut:

const callWithMagic = callback => {
  const magic = getMagic();
  callback(magic);
};

const processMagic = (magic, theAnswer) => {
  someOtherMagic();
};

// We want to pass processMagic to callWithMagic, but also pass 42 as the second parameter.
callWithMagic(); // What should we put here?

Untuk mencapai ini, terdapat dua pendekatan:

Pembungkus Fungsi sebagai Panggilan Balik:

Kita boleh mencipta fungsi pembalut yang mengambil hujah ajaib dan menyerahkannya bersama-sama dengan argumen tambahan kepada fungsi panggil balik asal.

callWithMagic(function(magic) {
  return processMagic(magic, 42);
});

ES6 Arrow Fungsi:

Fungsi anak panah ES6 menyediakan trengkas yang mudah untuk menulis pembalut fungsi.

callWithMagic(magic => processMagic(magic, 42));

Kedua-dua pendekatan membenarkan anda menghantar argumen tambahan kepada fungsi panggil balik dengan mencipta fungsi pembalut yang memajukan argumen seperti yang diperlukan.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Meluluskan Argumen Tambahan kepada Fungsi Panggilan Balik JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:Paip najisArtikel seterusnya:Paip najis