Διαφορά μεταξύ δηλώσεων συνάρτησης
Και οι δύο τρόποι δήλωσης μιας συνάρτησης είναι ισοδύναμοι, αλλά υπάρχει μια σημαντική διαφορά: οι συναρτήσεις που δηλώνονται ως Function Declaration θα είναι διαθέσιμες, ακόμα και αν προσπαθήσουμε να τις καλέσουμε πριν από τη δήλωσή τους.
Δείτε το παράδειγμα:
javascript// Καλούμε τη συνάρτηση πριν από τη δήλωσή της:
func(); // θα εμφανίσει '!'
function func() {
console.log('!');
}
Ενώ τα functional expressions δημιουργούνται τη στιγμή της εκτέλεσης του κώδικα και δεν είναι διαθέσιμα πιο πάνω. Για αυτό αυτός ο κώδικας θα προκαλέσει σφάλμα:
javascriptfunc(); // σφάλμα, η συνάρτηση δεν υπάρχει ακόμα!
let func = function() {
console.log('!');
};
Задание 1
Δημιουργήστε μια συνάρτηση ως Function Declaration. Επαληθεύστε ότι θα είναι διαθέσιμη πριν από το σημείο δήλωσής της.
Задание 2
Δημιουργήστε μια συνάρτηση ως Function Expression. Επαληθεύστε ότι δεν θα είναι διαθέσιμη πριν από το σημείο δήλωσής της.