⊗jsPmFNFRF 252 of 505 menu

Funksjon som returnerer en funksjon i JavaScript

La oss si at vi har en funksjon som returnerer en streng slik:

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

La oss nå, analogt, returnere en anonym funksjon i stedet for en streng:

function func() { return function() { return '!'; }; } let result = func(); // variabelen result vil inneholde en funksjon console.log(result); // vil skrive ut 'function() {return '!';}'

Som du ser, er variabelen result nå en funksjon. La oss skrive ut resultatet av dens kjøring til konsollen. For å gjøre dette skriver vi parenteser etter den:

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

Siden kallet func() returnerer en funksjon, kan vi umiddelbart kalle denne returnerte funksjonen, slik: func()() - de første parentesene henter resultatet av funksjonen func (som selv er en funksjon), og de andre parentesene brukes på resultatet av func.

La oss prøve:

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

Lag en funksjon func1 som, når den kalles slik: func1()(), returnerer tallet 1. Lag en tilsvarende funksjon func2 som returnerer tallet 2. Finn summen av resultatene fra disse funksjonene.

Norsk
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi bruker informasjonskapsler for nettstedets funksjonalitet, analyse og personalisering. Behandling av data foregår i henhold til Personvernerklæringen.
godta alle tilpass avvis