⊗jsPmFNClb 255 of 505 menu

Callback funkcije u JavaScript-u

Funkcije se mogu prosleđivati kao parametri drugim funkcijama. Takve funkcije-parametri se nazivaju kolbekom (callback). Hajde da pogledamo kako rade na primeru.

Recimo da želimo da napravimo funkciju koja će prvi parametar primati niz, a drugi - callback, koji će primenjivati na svaki element niza:

function each(arr, callback) { // ovde ide neki kod }

Napišimo implementaciju naše funkcije:

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

Naša funkcija each je univerzalna. To znači da joj možemo prosleđivati različite callback-ove, izvršavajući različite operacije nad nizovima. Pri tome kod naše funkcije će ostati nepromenjen - menjaju se samo prosledjeni callback-ovi.

Hajde da za primer pomoću naše funkcije dignemo na kvadrat svaki element nekog niza. Za to ćemo proslediti kao parametar odgovarajući callback:

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

A sada dignimo elemente niza na kub. Za to ćemo kao parametar proslediti već drugi callback, koji izvršava ovu operaciju:

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

Dat je niz sa brojevima. Pomoću kreirane funkcije each povećajte svaki element dva puta.

Dat je niz sa stringovima. Pomoću kreirane funkcije each okrenite simbole svakog stringa u obrnutom redosledu.

Dat je niz sa stringovima. Pomoću kreirane funkcije each napravite da prvi simbol svakog stringa bude veliko slovo.

Srpski
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Koristimo kolačiće za rad sajta, analitiku i personalizaciju. Obrada podataka se vrši u skladu sa Politikom privatnosti.
prihvati sve podesi odbij