⊗jsPmFNFRF 252 of 505 menu

Функција што враќа функција во JavaScript

Нека имаме ваква функција, која враќа стринг:

function func() { return '!'; } let result = func(); console.log(result); // ќе испише '!'

Сега да, по аналогија, наместо стринг, вратиме анонимна функција:

function func() { return function() { return '!'; }; } let result = func(); // во променливата result ќе има функција console.log(result); // ќе испише 'function() {return '!';}'

Како што гледате, променливата result сега претставува функција. Да го испишеме во конзола резултатот од нејзината работа. За да го направиме ова, пишуваме кругли загради:

function func() { return function() { return '!'; }; } let result = func(); console.log( result() ); // ќе испише '!'

Бидејќи повикувањето func() враќа функција, можеме веднаш да ја повикаме и оваа вратена функција, вака: func()() - првите кругли загради го добиваат резултатот од функцијата func (кој сам по себе е функција), а вторите кругли загради се применуваат на резултатот func.

Ајде да пробаме:

function func() { return function() { return '!'; }; } console.log( func()() ); // ќе испише '!'

Направете функција func1, која кога се повикува вака: func1()(), ќе врати број 1. Направете слична функција func2, која враќа број 2. Пронајдете го збирот на резултатите од овие функции.

Македонски
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ние користиме колачиња за работата на веб-страната, анализа и персонализација. Обработката на податоци се врши во согласност со Политиката за приватност.
прифати ги сите прилагоди одбиј