РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
⊗jsPmFTNFE 235 of 505 menu
◀ ▶

Именувани функционални изрази во JavaScript

Да претпоставиме дека имаме ваков функционален израз:

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

Да дадеме име на нашата функција func:

let test = function func() { console.log('!'); }; test();

Како што веќе знаете, не може да се пристапи до функцијата по ова име:

let test = function func() { console.log('!'); }; test(); // ќе испише '!' func(); // ќе даде грешка

Зошто тогаш да се дава име на функцијата ако тоа нема да биде достапно? Поентата е што ова име ќе биде недостижно надвор од функцијата, но достапно внатре во самата функција.

Да го провериме ова:

let test = function func() { console.log(func); // функцијата ќе го испише својот изворен код }; test(); // ја повикуваме функцијата

Да ја повикаме нашата функција внатре во самата неа:

let test = function func() { console.log('!'); // испишува '!' func(); // се повикуваме самите себеси }; test();

Ако се стартува овој код, во конзолата ќе се испишува бесконечен број на пораки.

Всушност, нашата функција може да се повика внатре во самата неа не само како func, туку и како test:

let test = function func() { console.log('!'); test(); // се повикуваме самите себеси }; test();

Која е разликата? Разликата е во тоа што името test е само променлива. Во текот на работата на скриптата, нашата функција може да се запише во друга променлива или да се пренесе како параметар - во тој случај, врската помеѓу променливата test и функцијата може да се изгуби.

Името func, пак, е цврсто врзано за функцијата специјално за да може да се пристапи до нашата функција внатре во самата неа.

Ваквите Function Expression со име на функцијата се нарекуваат именувани функционални изрази.

← →
↑
Македонски▼
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
Ние користиме колачиња за работата на веб-страната, анализа и персонализација. Обработката на податоци се врши во согласност со Политиката за приватност.
прифати ги сите прилагоди одбиј