⊗jsPmFNFRF 252 of 505 menu

Funcție care returnează o funcție în JavaScript

Să presupunem că avem următoarea funcție care returnează un șir de caractere:

function func() { return '!'; } let result = func(); console.log(result); // va afișa '!'

Acum, în loc de șir de caractere, prin analogie, să returnăm o funcție anonimă:

function func() { return function() { return '!'; }; } let result = func(); // în variabila result va fi o funcție console.log(result); // va afișa 'function() {return '!';}'

După cum vedeți, variabila result acum reprezintă o funcție. Să afișăm în consolă rezultatul ei. Pentru aceasta, vom folosi paranteze rotunde:

function func() { return function() { return '!'; }; } let result = func(); console.log( result() ); // va afișa '!'

Deoarece apelul func() returnează o funcție, putem să apelăm imediat această funcție returnată, astfel: func()() - primele paranteze rotunde obțin rezultatul funcției func (care este însăși o funcție), iar cele de-a doua paranteze rotunde se aplică rezultatului func.

Să încercăm:

function func() { return function() { return '!'; }; } console.log( func()() ); // va afișa '!'

Creați o funcție func1 care, atunci când este apelată astfel: func1()(), să returneze numărul 1. Creați o funcție similară func2, care returnează numărul 2. Găsiți suma rezultatelor acestor funcții.

Română
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Folosim cookie pentru funcționarea site-ului, analiză și personalizare. Prelucrarea datelor are loc în conformitate cu Politica de confidențialitate.
acceptă toate configurează respinge