⊗jsPmFNClb 255 of 505 menu

Funcții callback în JavaScript

Funcțiile pot fi transmise ca parametri altor funcții. Astfel de funcții-parametri se numesc callback-uri (callback). Să vedem cum funcționează cu un exemplu.

Să presupunem că vrem să facem o funcție care primeste primul parametru ca un array, iar al doilea - un callback, care va fi aplicat fiecărui element al array-ului:

function each(arr, callback) { // aici este ceva cod }

Să scriem implementarea funcției noastre:

function each(arr, callback) { let result = []; for (let elem of arr) { result.push( callback(elem) ); // apelăm funcția-callback } return result; }

Funcția noastră each este universală. Aceasta înseamnă că îi putem transmite diverse callback-uri, efectuând diferite operații asupra array-urilor. În acest timp codul funcției noastre va rămâne neschimbat - se vor schimba doar callback-urile transmise.

Să exemplificăm, folosind funcția noastră, ridicăm la pătrat fiecare element al unui array. Pentru aceasta vom transmite ca parametru callback-ul corespunzător:

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

Și acum să ridicăm elementele array-ului la cub. Pentru aceasta ca parametru vom transmite deja un alt callback, care efectuează această operație:

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

Este dat un array cu numere. Cu ajutorul funcției create de noi each măriți fiecare element de două ori.

Este dat un array cu șiruri. Cu ajutorul funcției create de noi each inversați caracterele fiecărui șir în ordine inversă.

Este dat un array cu șiruri. Cu ajutorul funcției create de noi each faceți majusculă primul caracter al fiecărui șir.

Română
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Folosim cookie pentru funcționarea site-ului, analiză și personalizare. Prelucrarea datelor are loc în conformitate cu Politica de confidențialitate.
acceptă toate configurează respinge