⊗jsPmFNFRF 252 of 505 menu

Funkcja zwracająca funkcję w JavaScript

Załóżmy, że mamy taką funkcję zwracającą ciąg znaków:

function func() { return '!'; } let result = func(); console.log(result); // wyświetli '!'

Teraz zamiast ciągu znaków, analogicznie, zwróćmy funkcję anonimową:

function func() { return function() { return '!'; }; } let result = func(); // w zmiennej result będzie funkcja console.log(result); // wyświetli 'function() {return '!';}'

Jak widać, zmienna result teraz reprezentuje funkcję. Wyświetlmy w konsoli wynik jej działania. Aby to zrobić, dodajmy do niej okrągłe nawiasy:

function func() { return function() { return '!'; }; } let result = func(); console.log( result() ); // wyświetli '!'

Ponieważ wywołanie func() zwraca funkcję, możemy od razu wywołać tę zwróconą funkcję, w ten sposób: func()() - pierwsze okrągłe nawiasy otrzymują wynik funkcji func (który sam jest funkcją), a drugie okrągłe nawiasy są aplikowane do wyniku func.

Spróbujmy:

function func() { return function() { return '!'; }; } console.log( func()() ); // wyświetli '!'

Stwórz funkcję func1, która będąc wywołana w ten sposób: func1()(), zwróci liczbę 1. Stwórz analogiczną funkcję func2, zwracającą liczbę 2. Znajdź sumę wyników tych 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ć