Παράμετροι Μεταδιδόμενων Συναρτήσεων στην JavaScript
Ας υποθέσουμε ότι έχουμε μια συνάρτηση test που
δέχεται ως παράμετρο μια άλλη συνάρτηση και στην κονσόλα
εμφανίζει το αποτέλεσμα της εργασίας αυτής της μεταδιδόμενης συνάρτησης:
function test(func) {
console.log( func() );
}
Ας υποθέσουμε ότι η μεταδιδόμενη συνάρτηση func δέχεται ως παράμετρο
έναν αριθμό και κάνει κάτι με αυτόν. Ας της μεταδώσουμε,
για παράδειγμα, τον αριθμό 3:
function test(func) {
console.log( func(3) );
}
Ας καλέσουμε τώρα τη συνάρτηση test,
μεταδίδοντας σε αυτήν ως παράμετρο μια ανώνυμη συνάρτηση.
Αυτή η ανώνυμη συνάρτηση θα δέχεται ως παράμετρο
έναν αριθμό και θα επιστρέφει το τετράγωνο αυτού του αριθμού.
Ως αποτέλεσμα όλων αυτών, η κατασκευή μας
θα εμφανίσει το τετράγωνο του αριθμού 3, δηλαδή 9:
// Θα εμφανίσει 9:
test(
function(num) {
return num * num;
}
);
function test(func) {
console.log(func(3));
}
Ας διαμορφώσουμε τον κώδικα πιο κομψά:
// Θα εμφανίσει 9:
test(function(num) {
return num * num;
});
function test(func) {
console.log(func(3));
}
Αντιγράψτε τον κώδικα της συνάρτησής μου test.
Καλέστε αυτή τη συνάρτηση, μεταδίδοντας της ως παράμετρο
μια ανώνυμη συνάρτηση, η οποία θα δέχεται ως παράμετρο
έναν αριθμό και θα επιστρέφει τον κύβο του.
Μετατρέψτε τον κώδικά σας έτσι ώστε η μεταδιδόμενη
συνάρτηση να μην είναι ανώνυμη, αλλά να οριστεί
ως Δήλωση Συνάρτησης (Function Declaration) με το όνομα func.
Μετατρέψτε τη μεταδιδόμενη συνάρτηση σε
Έκφραση Συνάρτησης (Function Expression) με το ίδιο όνομα func.
Ας υποθέσουμε ότι η μεταδιδόμενη συνάρτηση τώρα δέχεται
δύο παραμέτρους και επιστρέφει το άθροισμά τους.
Κατά την κλήση της μεταδιδόμενης συνάρτησης μέσα στην test
μεταβιβάστε στη μεταδιδόμενη συνάρτηση τον αριθμό 2
και τον αριθμό 3. Εμφανίστε το αποτέλεσμα.