Named Function Expression в JavaScript


#1

Что это такое и для чего используют на сегодняшний день? Я уже два вида функций видел declarative, expression, и различия понятны, а тут какая то новинка не понятная, которая выглядит вроде как смесь этих двух видов, в общем заранее благодарю за помощь.


#2

Это вид функций который придумали специально для работы с рекурсией, то есть так по сути можно создавать рекурсивные методы которые будут видны только внутри функции – название функционального выражения видно только внутри функции, вот пример:

var i = 0;
var
i_plusplus = function plusPlus() {
console.
log(i );
plusPlus();
};

i_plusplus();

В этом примере в самом начале создаем переменную i, которую мы будем рекурсивно увеличивать в именованном функциональном выражении, как видим, рекурсия тут реализуется благодаря имени самой функции, которое видно только внутри функции, если же попробовать вызвать функцию через её непосредственное имя вне блока, результат будет undefined, в основном данный вид функций используется для реализации вызова функцией самой себя, и создания рекурсий, что в общем то почти одно и тоже)