Возможно, что это немного бессмысленно, но почему первый вызов ниже работает, а второй - неудачен?Почему вызов с именем назначенной функции завершается с ошибкой в JavaScript?
var foo = function bar() {
console.log("Martini");
}
foo(); // works
bar(); // undefined; i.e. "Uncaught ReferenceError: bar is not defined"
Это связано с областью?
Задача начальника: определение функции «анализирует» - но это действительно действительный синтаксис - и есть ли какой-либо контекст, где смысл присвоения назначенной анонимной функции имеет смысл?
Я думаю, что нашел ответ на вторую часть моего вопроса здесь: [В Javascript, когда необходимо назначить именованную функцию переменной?] (Http://stackoverflow.com/questions/33627048/in -javascript-when-is-it-needed-to-assign-a-named-function-to-a-variable) – Christian
Должно читать: http://stackoverflow.com/a/338053/652669 –
Другое важное различие между функцией декларации/выражения - это то, что первые были подняты с их именем и телом функции, в то время как последние были только подняты с их именем, то есть 'foo' является' undefined', пока его тело функции не будет достигнуто в коде. – rand