⊗jsPmFNClb 255 of 505 menu

Funzioni di callback in JavaScript

Le funzioni possono essere passate come parametri ad altre funzioni. Tali funzioni-parametro sono chiamate callback (callback). Diamo un'occhiata al loro funzionamento con un esempio.

Supponiamo di voler creare una funzione che accetti come primo parametro un array, e come secondo - una callback, che verrà applicata a ogni elemento dell'array:

function each(arr, callback) { // qui del codice }

Scriviamo l'implementazione della nostra funzione:

function each(arr, callback) { let result = []; for (let elem of arr) { result.push( callback(elem) ); // chiamiamo la funzione di callback } return result; }

La nostra funzione each è universale. Ciò significa che possiamo passarle diverse callback, eseguendo diverse operazioni sugli array. In questo caso il codice della nostra funzione rimarrà invariato - cambieranno solo le callback passate.

Facciamo un esempio: utilizzando la nostra funzione eleviamo al quadrato ogni elemento di un array. Per fare questo, passiamo come parametro la callback corrispondente:

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

Ora eleviamo gli elementi dell'array al cubo. Per fare questo, passeremo come parametro un'altra callback, che esegue questa operazione:

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

Dato un array di numeri. Utilizzando la funzione each che abbiamo creato, raddoppia ogni elemento.

Dato un array di stringhe. Utilizzando la funzione each che abbiamo creato, inverti i caratteri di ogni stringa in ordine inverso.

Dato un array di stringhe. Utilizzando la funzione each che abbiamo creato, rendi maiuscolo il primo carattere di ogni stringa.

enuzlhunlhy