⊗jsPmFNFAP 242 of 505 menu

Prehadzovanie funkcií parametrami v JavaScript

Funkcie, podobne ako čísla, reťazce a polia, môžu byť prehadzované parametrami do iných funkcií.

Pozrime sa podrobnejšie na praktický príklad. Predpokladajme, že máme funkciu test, ktorá prijíma dva parametre:

test(parameter1, parameter2);

Do prvého parametra funkcie test predejme anonymnú funkciu, ktorá vracia 1, a do druhého parametra - anonymnú funkciu, ktorá vracia 2:

test( function() {return 1;}, function() {return 2;} );

Kód uvedený vyššie zatiaľ nie je funkčný, pretože sme nevytvorili samotnú funkciu. Vytvorme ju:

function test(func1, func2) { }

Pri definícii funkcie sme uviedli dva parametre - func1 a func2. Tieto parametre nevedia nič o tom, čo sa do nich prenesie. Môžeme napríklad preniesť čísla:

test(1, 2); // voláme funkciu function test(func1, func2) { console.log(func1); // vypíše 1 console.log(func2); // vypíše 2 }

Alebo môžeme preniesť funkcie:

test( function() {return 1;}, // prvý parameter function() {return 2;} // druhý parameter ); function test(func1, func2) { console.log(func1); // vypíše 'function() {return 1;}' console.log(func2); // vypíše 'function() {return 2;}' }

Ako vidíte, teraz sa do konzoly vypíše zdrojový kód funkcií. Urobme to tak, aby vypisoval ich výsledky. Na to napíšme funkciám okrúhle zátvorky:

test( function() {return 1;}, function() {return 2;} ); function test(func1, func2) { console.log( func1() ); // vypíše 1 console.log( func2() ); // vypíše 2 }

Vypíšme do konzoly súčet výsledkov prvej a druhej funkcie:

test( function() {return 1;}, function() {return 2;} ); function test(func1, func2) { console.log( func1() + func2() ); // vypíše 3 }

Vytvorte funkciu test, ktorá parametrami prijíma 3 funkcie. Predejte do nej prvým parametrom funkciu, ktorá vracia 1, druhým - funkciu, ktorá vracia 2, tretím - funkciu, ktorá vracia 3. Vypíšte do konzoly súčet výsledkov funkcií.

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ť