⊗jsPmFTFENN 234 of 505 menu

Функция с име, но Function Expression в JavaScript

Нека сега направим функция, която ще има име, но въпреки това ще бъде Function Expression, защото участва в израз:

+function func() { console.log('!'); }

Интересното е, че по име func ние няма да можем да се обърнем към нашата функция, това ще води до грешка:

+function func() { console.log('!'); } func(); //!! ще даде грешка

За да имаме възможност да извикаме нашата функция, тя трябва да бъде присвоена на някаква променлива:

let test = function func() { console.log('!'); }; test(); // ще изведе '!'

Още веднъж: функция, която е функционално изражение, не може да бъде извикана по нейното име. Такава функция може да бъде извикана само с използването на променливата, в която е била записана тази функция.

Но въпреки това, функционалното изражение може да има име на функция, това ще бъде синтактично коректно. Защо е нужно такова нещо, ще разглеждаме в следващите уроци.

Да обобщим: функциите са Function Declaration или Function Expression не защото имат име или нямат, а защото са участници в изрази или не са.

Както видяхте по-горе, функция без име може да бъде възприета като Function Declaration, а функция с име може да бъде Function Expression.

Български
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
Ние използваме бисквитки за работата на сайта, анализ и персонализация. Обработката на данни се извършва в съответствие с Политика за поверителност.
приемам всички настройки отхвърляне