⊗jsPmFNClb 255 of 505 menu

Callback-funktioner i JavaScript

Funktioner kan overføres som parametre til andre funktioner. Sådanne funktionsparametre kaldes callbacks (callback). Lad os se arbejdet med dem med et eksempel.

Lad os sige, at vi vil lave en funktion, som det første parameter vil tage et array, og det andet - en callback, som vil blive anvendt på hvert element i arrayet:

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

Lad os skrive implementeringen af vores funktion:

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

Vores funktion each er universel. Det betyder, at vi kan overføre til den forskellige callbacks og udføre forskellige operationer på arrays. Samtidig forbliver koden i vores funktion uændret - kun de overførte callbacks vil ændre sig.

Lad os for eksempel ved hjælp af vores funktion kvadrere hvert element i et array. For at gøre dette overfører vi den tilsvarende callback som parameter:

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

Og lad os nu opløfte elementerne i arrayet i tredje potens. For at gøre dette overfører vi som parameter allerede en anden callback, der udfører denne operation:

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

Givet et array med tal. Ved hjælp af den funktion, vi har oprettet each, skal du fordoble hvert element.

Givet et array med strenge. Ved hjælp af den funktion, vi har oprettet each, skal du vende tegnene i hver streng baglæns.

Givet et array med strenge. Ved hjælp af den funktion, vi har oprettet each, skal du gøre det første tegn i hver streng stort.

idbyhiaztr