Fungsi Panggilan Balik dalam JavaScript
Fungsi boleh dihantar sebagai parameter kepada fungsi lain. Fungsi parameter sedemikian dipanggil fungsi panggilan balik (callback). Mari kita lihat cara ia berfungsi dengan contoh.
Katakan kita ingin membuat fungsi yang parameter pertamanya akan menerima array, dan parameter keduanya - panggilan balik, yang akan digunakan pada setiap elemen array:
function each(arr, callback) {
// di sini ada beberapa kod
}
Mari tulis pelaksanaan fungsi kami:
function each(arr, callback) {
let result = [];
for (let elem of arr) {
result.push( callback(elem) ); // memanggil fungsi panggilan balik
}
return result;
}
Fungsi kami each adalah sejagat.
Ini bermakna kita boleh menghantar
pelbagai panggilan balik ke dalamnya,
melakukan operasi yang berbeza
pada array. Pada masa yang sama, kod fungsi kami akan kekal
tidak berubah - hanya
panggilan balik yang dihantar akan berubah.
Sebagai contoh, mari kita gunakan fungsi kami untuk mem kuasa dua setiap elemen array tertentu. Untuk melakukan ini, kita akan menghantar panggilan balik yang sesuai sebagai parameter:
let result = each([1, 2, 3, 4, 5], function(num) {
return num ** 2;
});
console.log(result);
Sekarang mari kita kuasa tiga elemen array. Untuk melakukan ini, kita akan menghantar panggilan balik yang berbeza sebagai parameter, yang melakukan operasi ini:
let result = each([1, 2, 3, 4, 5], function(num) {
return num ** 3;
});
console.log(result);
Diberikan array dengan nombor. Dengan menggunakan fungsi
each yang kami buat, gandakan setiap
elemen.
Diberikan array dengan string. Dengan menggunakan fungsi
each yang kami buat, balikkan aksara
setiap string dalam susunan terbalik.
Diberikan array dengan string. Dengan menggunakan fungsi
each yang kami buat, jadikan huruf besar
aksara pertama setiap string.