⊗jsPmFNClb 255 of 505 menu

Callback funkcie v JavaScripte

Funkcie je možné odovzdávať ako parametre do iných funkcií. Takéto funkcie-parametre sa nazývajú kolbeky (callback). Pozrime sa na ich prácu na príklade.

Povedzme, že chceme vytvoriť funkciu, ktorá prvým parametrom bude prijímať pole, a druhým - kolbek, ktorý bude aplikovať na každý prvok pola:

function each(arr, callback) { // tu nejaký kód }

Napíšme implementáciu našej funkcie:

function each(arr, callback) { let result = []; for (let elem of arr) { result.push( callback(elem) ); // voláme funkciu-kolbek } return result; }

Naša funkcia each - je univerzálna. To znamená, že do nej môžeme odovzdávať rôzne kolbeky, vykonávajúc rôzne operácie s poliami. Pritom kód našej funkcie zostane nezmenený - budú sa meniť len odovzdávané kolbeky.

Skúsme napríklad pomocou našej funkcie umocniť na druhú každý prvok nejakého poľa. Na to odovzdajme ako parameter príslušný kolbek:

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

A teraz umocnime prvky poľa na tretiu. Na to ako parameter odovzdajme už iný kolbek, vykonávajúci túto operáciu:

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

Dané pole s číslami. Pomocou vytvorenej funkcie each zväčšite každý prvok dva krát.

Dané pole s reťazcami. Pomocou vytvorenej funkcie each otočte znaky každého reťazca v opačnom poradí.

Dané pole s reťazcami. Pomocou vytvorenej funkcie each urobte veľkým prvý znak každého reťazca.

Slovenčina
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Používame cookies na fungovanie stránky, analýzu a personalizáciu. Spracúvanie údajov prebieha v súlade s Politikou ochrany osobných údajov.
prijať všetky nastaviť odmietnuť