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