⊗jsPmFNClb 255 of 505 menu

Callback függvények a JavaScriptben

A függvényeket paraméterként lehet átadni más függvényeknek. Az ilyen függvény paramétereket callback-nek (callback) nevezzük. Nézzük meg a munkájukat egy példán keresztül.

Tegyük fel, hogy szeretnénk készíteni egy függvényt, amely az első paraméterként egy tömböt fogad, a második pedig egy callback-et, amelyet a tömb minden elemére alkalmazni fog:

function each(arr, callback) { // itt valamilyen kód }

Írjuk meg a függvényünk megvalósítását:

function each(arr, callback) { let result = []; for (let elem of arr) { result.push( callback(elem) ); // meghívjuk a callback függvényt } return result; }

A each függvényünk univerzális. Ez azt jelenti, hogy különböző callback-eket adhatunk át neki, és különböző műveleteket hajthatunk végre a tömbökön. Eközben a függvényünk kódja változatlan marad - csak az átadott callback-ek fognak változni.

Példaként a függvényünk segítségével emeljük négyzetre egy tömb minden elemét. Ehhez adjuk át paraméterként a megfelelő callback-et:

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

Most pedig emeljük a tömb elemeit kobbra. Ehhez paraméterként egy másik callback-et adunk át, amely ezt a műveletet végzi:

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

Adott egy számokból álló tömb. Az általunk létrehozott each függvény segítségével növelje meg minden elemet kétszeresére.

Adott egy sztringekből álló tömb. Az általunk létrehozott each függvény segítségével fordítsa meg minden sztring karaktereit fordított sorrendben.

Adott egy sztringekből álló tömb. Az általunk létrehozott each függvény segítségével tegye nagybetűssé minden sztring első karakterét.

Magyar
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
A weboldal működéséhez, elemzéshez és személyre szabáshoz sütiket használunk. Az adatfeldolgozás a Adatvédelmi irányelvek szerint történik.
összes elfogadása beállítás elutasítás