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