Очень Плохие Новости
Без вашей поддержки донатом сайт code.mu скоро закроется. Читать подробнее...
⊗jsPmFTFENN 234 of 505 menu
Снова выходят занимательные задачи по JavaScript, PHP и Python. Присоединяйтесь к нам!

Функция с именем, но 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
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить