⊗jsPmFNFAP 242 of 505 menu

Předávání funkcí jako parametrů v JavaScriptu

Funkce, podobně jako čísla, řetězce a pole, lze předávat jako parametry do jiných funkcí.

Podívejme se na to podrobněji na praktickém příkladu. Předpokládejme, že máme funkci test, která přijímá dva parametry:

test(parametr1, parametr2);

Nyní do prvního parametru funkce test předáme anonymní funkci vracející 1, a do druhého parametru - anonymní funkci vracející 2:

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

Výše uvedený kód zatím nefunguje, protože jsme nevytvořili samotnou funkci. Vytvořme ji:

function test(func1, func2) { }

Při definici funkce jsme určili dva parametry - func1 a func2. Tyto parametry nemají ponětí o tom, co do nich bude předáno. Můžeme například předat čísla:

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

Nebo můžeme předat funkce:

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

Jak vidíte, nyní se do konzole vypisuje zdrojový kód funkcí. Udělejme to tak, aby vypisoval jejich výsledky. K tomu přidáme funkcím kulaté závorky:

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

Nyní vypišme do konzole součet výsledků první a druhé funkce:

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

Vytvořte funkci test, která jako parametry přijímá 3 funkce. Předejte do ní prvním parametrem funkci vracející 1, druhým - funkci vracející 2, třetím - funkci vracející 3. Vypište do konzole součet výsledků funkcí.

Čeština
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Používáme soubory cookie pro fungování webu, analýzu a personalizaci. Zpracování údajů probíhá v souladu s Zásadami ochrany osobních údajů.
přijmout vše přizpůsobit odmítnout