Funkcijas deklarācijas atšķirības
Abi funkcijas deklarēšanas veidi ir līdzvērtīgi, bet pastāv būtiska atšķirība: funkcijas, kas deklarētas kā Function Declaration, būs pieejamas, pat ja pie tām pievēršas pirms tās ir deklarētas.
Skatiet piemēru:
// Pievēršamies funkcijai pirms tās deklarēšanas:
func(); //izvadīs '!'
function func() {
console.log('!');
}
Savukārt funkciju izteiksmes tiek izveidotas brīdī, kad izpildās kods, un nav pieejamas augstāk. Tāpēc šāds kods izvadīs kļūdu:
func(); //kļūda, šāda funkcija vēl nepastāv!
let func = function() {
console.log('!');
};
Izveidojiet funkciju kā Function Declaration. Pārbaudiet, vai tā būs pieejama augstāk par tās deklarācijas vietu.
Izveidojiet funkciju kā Function Expression. Pārbaudiet, vai tā nebūs pieejama augstāk par tās deklarācijas vietu.