⊗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šuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Мы выкарыстоўваем cookie для працы сайта, аналітыкі і персаналізацыі. Апрацоўка дадзеных адбываецца згодна Палітыкай канфідэнцыяльнасці.
прыняць усе наладзіць адхіліць