Разница объявлений функции
Оба способа объявления функции эквивалентны, но есть существенная разница: функции, объявленные как Function Declaration, будут доступны, даже если обратится к ним до того, как они были объявлены.
Смотрите пример:
javascript// Обращаемся к функции до ее объявления:
func(); //выведет '!'
function func() {
console.log('!');
}
А функциональные выражения создаются в момент выполнения кода и недоступны выше. Поэтому такой код выдаст ошибку:
javascriptfunc(); //ошибка, такой функции еще нет!
let func = function() {
console.log('!');
};
Задание 1
Создайте функцию как Function Declaration. Проверьте то, что она будет доступна выше места своего объявления.
Задание 2
Создайте функцию как Function Expression. Проверьте то, что она не будет доступна выше места своего объявления.