Callback-funksies in JavaScript
Funksies kan as parameters aan ander funksies oorgedra word. Sulke funksie-parameters word callbacksfunksies (callback) genoem. Kom ons kyk na hoe hulle werk met 'n voorbeeld.
Gestel ons wil 'n funksie maak wat as eerste parameter 'n array sal neem, en as tweede - 'n callback, wat op elke element van die array toegepas sal word:
function each(arr, callback) {
// hier is 'n stukkie kode
}
Laat ons die implementering van ons funksie skryf:
function each(arr, callback) {
let result = [];
for (let elem of arr) {
result.push( callback(elem) ); // roep die callback-funksie
}
return result;
}
Ons funksie each is universeel.
Dit beteken dat ons verskillende callbacks daarin kan
oordra, wat verskillende bewerkings op arrays
uitvoer. Terselfdertyd sal die kode van ons funksie onveranderd
bly - slegs die oorgedrawe callbacks sal verander.
Laat ons as voorbeeld met behulp van ons funksie die kwadraat van elke element van 'n array bereken. Om dit te doen, gee ons die toepaslike callback as parameter:
let result = each([1, 2, 3, 4, 5], function(num) {
return num ** 2;
});
console.log(result);
En nou bereken ons die derdemagswaardes van die array-elemente. Om dit te doen, gee ons as parameter reeds 'n ander callback wat hierdie bewerking uitvoer:
let result = each([1, 2, 3, 4, 5], function(num) {
return num ** 3;
});
console.log(result);
Gegee 'n array met nommers. Vermeerder elke
element met behulp van die funksie
each wat ons geskep het, met twee.
Gegee 'n array met snare. Draai die karakters
van elke string om in omgekeerde volgorde met behulp van die funksie
each wat ons geskep het.
Gegee 'n array met snare. Maak die
eerste karakter van elke string hoofletters met behulp van die funksie
each wat ons geskep het.