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

Всички тези термини означават ли едно и също?? Не точно

  1. Изявление / Декларация / Дефиниция на функцията

Състои се от ключова дума за функция, последвана от името на функцията и списъка с параметри, които приема, оградени в скоби, разделени със запетаи, след което кодът вътре се дефинира в {…} къдрави скоби.

2. Функционален израз

Тук присвоявате функцията на променлива. Основната разлика между израза на функцията и декларацията на функцията е повдигането.

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

3. Анонимна функция

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

4. Израз на именувана функция

Тук присвояваме наименуваната функция на променлива.

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

5. Израз на функция стрелка / Функция дебела стрелка

Това е по-кратък начин за създаване на функции. Функциите на стрелките винаги са анонимни. Функция стрелка с тяло на блок не се връща автоматично.

Функцията със стрелка няма собствена стойност „this“, а използва „this“ от обхващащия обхват.

6. Функции за обратно извикване

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

7. Предварително дефинирани функции

Това са вградени функции от най-високо ниво като eval(), uneval(), isNaN(), parseInt() и т.н.

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