Существует два способа объявления функций:
Function Expression и Function Declaration.
Более глобальную разницу между ними мы рассмотрим позже, а пока посмотрим на два примера:
Function Declaration:
function sum(a, b) {
return a + b;
}
Function Expression:
var sum = function(a, b) {
return a + b;
};
Исходя из приведенных примеров, в случае с Function Declaration, интерпретатор объявляет переменную с именем функции и присваивает ей описание функции.
В случае с Function Expression - мы сами объявляем переменную с именем функции и присваиваем ей описание функции. В таком случае мы можем даже не писать имя функции.
Другими словами: если объявление функции является частью какого-либо другого выражения, то такое объявление называется Function Expression.
В данном случае, объявление функции является частью выражения по объявлению переменной sum.
Не смотря на различия в объявлении функций: ни результат их выполнения, ни способ их вызова не меняется. Как уже было сказано ранее - мы посмотрим на их отличия позже.