Из всех предложенных вариантов я не увидел ни одной именованной функции. Ведь именованные функции объявляются вот так:
function named () {};
Есть 2 вида функций, именованные и анонимные. Именованная функция видна везде (везде в области видимости), а анонимная - только после объявления.
Почитать в учебнике.
Есть еще одно отличие в этих функциях, и кажется это отличие как раз и послужило названием для этих типов функций (именованные и анонимные).
// Объявляем именованную функцию с именем named и интерпретатор сам
// положит ее в переменную named
function named () {
};
// Объявляем неименованную функцию и ложим ее в переменную noNamed
var noNamed = function () {
};
// Объявляем именованную функцию с именем ohoho и ложим ее в переменную wtf
var wtf = function ohoho () {
};
alert(named.name);
alert(noNamed.name);
alert(wtf.name);
Теперь к вопросу:
Сообщение от Shitbox2
|
Как сделать именованую функцию, запускающуюся при объявлении?
|
Например вот так:
(function named () {
// Ваш код
}());
С виду бесполезная конструкция, но подобную именованную функцию можно вызвать из самой себя, это будет полезно в рекурсии. При этом эта функция не объявляет себя в области видимости в которой она находится (возможно это минус).
Ну и если все же нужно сохранить ссылку на эту функцию то
Aetae выше уже писал примеры.