Это всего лишь альтернативный синтаксис объявления функции!
Function Declaration – функция, объявленная в основном потоке кода. (Первый вариант)
Function Expression – объявление функции в контексте какого-либо выражения, например присваивания. (Второй вариант)
Отличие в основном в том, что первый вариант функции создается до выполнения кода, второй - после выполнения
Это значит что первый вариант мы можем вызвать где хотим, до или после. Второй вариант можем вызвать только после объявления его
Вроде так