Funkcijos deklaracijų skirtumas
Abu funkcijos deklaravimo būdai yra lygiaverčiai, bet yra esminis skirtumas: funkcijos, deklaruotos kaip Function Declaration, bus prieinamos, net jei kreipiamės į jas prieš tai, kai jos buvo deklaruotos.
Žiūrėkite pavyzdį:
// Kreipiamės į funkciją prieš jos deklaravimą:
func(); // išves '!'
function func() {
console.log('!');
}
O funkcijų išraiškos sukuriamos kodo vykdymo metu ir yra neprieinamos aukščiau. Todėl toks kodas išmes klaidą:
func(); // klaida, tokios funkcijos dar nėra!
let func = function() {
console.log('!');
};
Sukurkite funkciją kaip Function Declaration. Patikrinkite, kad ji bus prieinama aukščiau savos deklaracijos vietos.
Sukurkite funkciją kaip Function Expression. Patikrinkite, kad ji nebus prieinama aukščiau savos deklaracijos vietos.