⊗jsPmFNFRF 252 of 505 menu

Funktion som returnerar en funktion i JavaScript

Låt oss säga att vi har en funktion som returnerar en sträng:

function func() { return '!'; } let result = func(); console.log(result); // skriver ut '!'

Låt oss nu, i analogi, returnera en anonym funktion istället för en sträng:

function func() { return function() { return '!'; }; } let result = func(); // variabeln result kommer att innehålla en funktion console.log(result); // skriver ut 'function() {return '!';}'

Som du ser är variabeln result nu en funktion. Låt oss skriva ut resultatet av dess exekvering till konsolen. För att göra detta skriver vi runda parenteser efter den:

function func() { return function() { return '!'; }; } let result = func(); console.log( result() ); // skriver ut '!'

Eftersom anropet func() returnerar en funktion, kan vi omedelbart anropa den returnerade funktionen, så här: func()() - de första runda parenteserna hämtar resultatet av funktionen func (som i sig är en funktion), och de andra runda parenteserna appliceras på resultatet av func.

Låt oss prova:

function func() { return function() { return '!'; }; } console.log( func()() ); // skriver ut '!'

Skapa en funktion func1 som, när den anropas så här: func1()(), returnerar talet 1. Skapa en liknande funktion func2 som returnerar talet 2. Hitta summan av resultaten av dessa funktioner.

Svenska
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi använder kakor för webbplatsens funktion, analys och personalisering. Behandling av data sker i enlighet med Integritetspolicyn.
acceptera alla anpassa avvisa