Существует два способа объявления функций: 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. Не смотря на различия в объявлении функций: ни результат их выполнения, ни способ их вызова не меняется. Как уже было сказано