⊗jsPmFNClb 255 of 505 menu

Callback-funksjoner i JavaScript

Funksjoner kan overføres som parametere til andre funksjoner. Slike funksjonsparametere kalles callbacks (callback). La oss se hvordan de fungerer med et eksempel.

La oss si at vi ønsker å lage en funksjon som tar en array som første parameter, og en callback som andre parameter, som vil bli brukt på hvert element i arrayen:

function each(arr, callback) { // noe kode her }

La oss skrive implementasjonen av funksjonen vår:

function each(arr, callback) { let result = []; for (let elem of arr) { result.push( callback(elem) ); // kaller callback-funksjonen } return result; }

Funksjonen vår each er universell. Dette betyr at vi kan sende inn forskjellige callbacks og utføre forskjellige operasjoner på arrayer. Samtidig vil koden i funksjonen vår forbli uendret - det er bare de overførte callback-funksjonene som endres.

La oss for eksempel bruke funksjonen vår til å kvadrere hvert element i en array. For å gjøre dette sender vi inn en passende callback som parameter:

let result = each([1, 2, 3, 4, 5], function(num) { return num ** 2; }); console.log(result);

La oss nå opphøye elementene i arrayen i tredje potens. For å gjøre dette sender vi inn en annen callback som parameter, som utfører denne operasjonen:

let result = each([1, 2, 3, 4, 5], function(num) { return num ** 3; }); console.log(result);

Det er gitt en array med tall. Bruk funksjonen vi har laget each til å doble hvert element.

Det er gitt en array med strenger. Bruk funksjonen vi har laget each til å reversere tegnene i hver streng i omvendt rekkefølge.

Det er gitt en array med strenger. Bruk funksjonen vi har laget each til å gjøre den første bokstaven i hver streng til stor bokstav.

Norsk
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi bruker informasjonskapsler for nettstedets funksjonalitet, analyse og personalisering. Behandling av data foregår i henhold til Personvernerklæringen.
godta alle tilpass avvis