⊗jsPmFNClb 255 of 505 menu

Callback-funktioner i JavaScript

Funktioner kan skickas som parametrar till andra funktioner. Sådana funktionsparametrar kallas callback-funktioner (callback). Låt oss titta på hur de fungerar med ett exempel.

Låt oss säga att vi vill skapa en funktion som i första hand tar en array som parameter, och i andra hand - en callback-funktion, som kommer att appliceras på varje element i arrayen:

function each(arr, callback) { // här finns någon kod }

Låt oss skriva implementationen av vår funktion:

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

Vår funktion each är universell. Det betyder att vi kan skicka olika callback-funktioner till den, och utföra olika operationer på arrayer. Samtidigt förblir koden i vår funktion oförändrad - bara de skickade callback-funktionerna kommer att ändras.

Låt oss som ett exempel använda vår funktion för att kvadrera varje element i en array. För att göra detta skickar vi en motsvarande callback-funktion som parameter:

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

Och låt oss nu upphöja elementen i arrayen i kubik. För att göra detta skickar vi som parameter en annan callback-funktion, som utför denna operation:

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

Given en array med siffror. Med hjälp av funktionen each som vi skapade, fördubbla varje element.

Given en array med strängar. Med hjälp av funktionen each som vi skapade, vänd på tecknen i varje sträng i omvänd ordning.

Given en array med strängar. Med hjälp av funktionen each som vi skapade, gör första bokstaven i varje sträng versal.

Svenska
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi använder kakor för webbplatsens funktion, analys och personalisering. Behandling av data sker i enlighet med Integritetspolicyn.
acceptera alla anpassa avvisa