⊗jsPmFNFRF 252 of 505 menu

Funkcija, kas atgriež funkciju JavaScript

Pieņemsim, ka mums ir šāda funkcija, kas atgriež virkni:

function func() { return '!'; } let result = func(); console.log(result); // izvadīs '!'

Tagad, pēc analoģijas, atgriezīsim anonīmu funkciju virknes vietā:

function func() { return function() { return '!'; }; } let result = func(); // mainīgajā result būs funkcija console.log(result); // izvadīs 'function() {return '!';}'

Kā redzat, mainīgais result tagad ir funkcija. Izvadīsim konsolē tās darbības rezultātu. Lai to izdarītu, mēs rakstām apaļās iekavas:

function func() { return function() { return '!'; }; } let result = func(); console.log( result() ); // izvadīs '!'

Tā kā izsaukums func() atgriež funkciju, tad mēs varam uzreiz izsaukt šo atgriezto funkciju, šādi: func()() - pirmās apaļās iekavas iegūst funkcijas func rezultātu (kurš pats par sevi ir funkcija), un otrajās apaļās iekavas tiek piemērotas rezultātam func.

Mēģināsim:

function func() { return function() { return '!'; }; } console.log( func()() ); // izvadīs '!'

Izveidojiet funkciju func1, kuru izsaucot šādi: func1()(), atgriezīs skaitli 1. Izveidojiet līdzīgu funkciju func2, kas atgriež skaitli 2. Atrodiet šo funkciju rezultātu summu.

Latviešu
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Mēs izmantojam sīkdatnes, lai nodrošinātu vietnes darbību, analīti un personalizāciju. Datu apstrāde notiek saskaņā ar Konfidencialitātes politiku.
pieņemt visus iestatīt noraidīt