Ответы на вопросы на должность Frontend разработчика.
foo в function foo() {} и var foo = function() {}.Первое - объявление функции, а второе - функциональное выражение. Ключевое отличие состоит в том, что тело функции при объявлении поднимается наверх, а тело функциональных выражений - нет (они имеют такое же поведение поднятия, что и переменные).