⊗jsPmFNClb 255 of 505 menu

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.

Afrikaans
AzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ons gebruik koekies vir die werking van die webwerf, ontleding en personalisering. Die verwerking van data geskied volgens die Privaatheidsbeleid.
aanvaar alles instel verwerp