⊗jsPmFNFAP 242 of 505 menu

Przekazywanie funkcji jako parametrów w JavaScript

Funkcje, podobnie jak liczby, ciągi znaków i tablice, mogą być przekazywane jako parametry do innych funkcji.

Przyjrzyjmy się temu dokładniej na praktycznym przykładzie. Załóżmy, że mamy funkcję test, przyjmującą dwa parametry:

test(parametr1, parametr2);

Przekażmy w pierwszym parametrze funkcji test funkcję anonimową, zwracającą 1, a w drugim parametrze - funkcję anonimową zwracającą 2:

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

Powyższy kod nie jest jeszcze działający, ponieważ nie stworzyliśmy jeszcze samej funkcji. Zróbmy to:

function test(func1, func2) { }

Przy definiowaniu funkcji wskazaliśmy dwa parametry - func1 i func2. Te parametry nie wiedzą nic o tym, co będzie do nich przekazywane. Możemy na przykład przekazać liczby:

test(1, 2); // wywołujemy funkcję function test(func1, func2) { console.log(func1); // wypisze 1 console.log(func2); // wypisze 2 }

A możemy przekazać funkcje:

test( function() {return 1;}, // pierwszy parametr function() {return 2;} // drugi parametr ); function test(func1, func2) { console.log(func1); // wypisze 'function() {return 1;}' console.log(func2); // wypisze 'function() {return 2;}' }

Jak widać, teraz w konsoli wypisywany jest kod źródłowy funkcji. Zróbmy tak, aby wypisywał ich wyniki. W tym celu dopiszmy do funkcji okrągłe nawiasy:

test( function() {return 1;}, function() {return 2;} ); function test(func1, func2) { console.log( func1() ); // wypisze 1 console.log( func2() ); // wypisze 2 }

Wypiszmy w konsoli sumę wyników pierwszej i drugiej funkcji:

test( function() {return 1;}, function() {return 2;} ); function test(func1, func2) { console.log( func1() + func2() ); // wypisze 3 }

Stwórz funkcję test, przyjmującą jako parametry 3 funkcje. Przekaż do niej pierwszym parametrem funkcję zwracającą 1, drugim - funkcję zwracającą 2, trzecim - funkcję zwracającą 3. Wypisz w konsoli sumę wyników funkcji.

Polski
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wykorzystujemy pliki cookie do działania strony, analizy i personalizacji. Przetwarzanie danych odbywa się zgodnie z Polityką prywatności.
zaakceptuj wszystkie dostosuj odrzuć