⊗jsPmFNFRF 252 of 505 menu

Funkcija, ki vrača funkcijo v JavaScript

Recimo, da imamo tukaj takšno funkcijo, ki vrača niz:

function func() { return '!'; } let result = func(); console.log(result); // izpiše '!'

Poglejmo zdaj namesto niza, po analogiji, vrnimo anonimno funkcijo:

function func() { return function() { return '!'; }; } let result = func(); // v spremenljivki result bo funkcija console.log(result); // izpiše 'function() {return '!';}'

Kot vidite, spremenljivka result zdaj predstavlja funkcijo. Izpišimo v konzolo rezultat njenega delovanja. Za to napišimo ji okrogle oklepaje:

function func() { return function() { return '!'; }; } let result = func(); console.log( result() ); // izpiše '!'

Ker klic func() vrne funkcijo, potem lahko takoj tudi pokličemo to vrnjeno funkcijo, takole: func()() - prvi okrogli oklepaji pridobijo rezultat funkcije func (ki je sam funkcija), drugi okrogli oklepaji pa se uporabijo za rezultat func.

Poskusimo:

function func() { return function() { return '!'; }; } console.log( func()() ); // izpiše '!'

Naredite funkcijo func1, ki bo ob klicu takole: func1()(), vrnila število 1. Naredite podobno funkcijo func2, ki vrne število 2. Poiščite vsoto rezultatov teh funkcij.

Slovenščina
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Za delovanje spletnega mesta, analitiko in personalizacijo uporabljamo piškotke. Obdelava podatkov poteka v skladu s Politiko zasebnosti.
sprejmi vse nastavi zavrni