⊗jsPmFNFRF 252 of 505 menu

Függvény, amely függvényt ad vissza JavaScriptben

Tegyük fel, hogy van egy olyan függvényünk, amely egy karakterláncot ad vissza:

function func() { return '!'; } let result = func(); console.log(result); // kiírja '!'

Most a karakterlánc helyett, analógia útján, adjunk vissza egy anonim függvényt:

function func() { return function() { return '!'; }; } let result = func(); // a result változóban egy függvény lesz console.log(result); // kiírja 'function() {return '!';}'

Amint látja, a result változó most egy függvényt jelent. Naplózzuk a konzolra annak működésének eredményét. Ehhez írjunk zárójeleket utána:

function func() { return function() { return '!'; }; } let result = func(); console.log( result() ); // kiírja '!'

Mivel a func() hívása egy függvényt ad vissza, azonnal meghívhatjuk ezt a visszaadott függvényt is, így: func()() - az első zárójelek megkapják a func függvény eredményét (ami maga is egy függvény), míg a második zárójelek a func eredményére vonatkoznak.

Próbáljuk ki:

function func() { return function() { return '!'; }; } console.log( func()() ); // kiírja '!'

Készítsen egy func1 függvényt, amelyet így hívva: func1()(), visszaadja a 1 számot. Készítsen egy hasonló func2 függvényt, amely a 2 számot adja vissza. Keresse meg ezen függvények eredményeinek összegét.

byesfrhyit