Ενσωματωμένες Συναρτήσεις σε JavaScript
Ας υποθέσουμε ότι έχουμε μια συνάρτηση που δέχεται ως παραμέτρους δύο αριθμούς και επιστρέφει το άθροισμα των τετραγώνων αυτών των αριθμών:
function func(num1, num2) {
return num1 * num1 + num2 * num2;
}
console.log(func(2, 3)); // θα εμφανίσει 13 (αποτέλεσμα 2 * 2 + 3 * 3)
Ας βγάλουμε την πράξη της αύξησης στο τετράγωνο
σε μια βοηθητική συνάρτηση square:
function square(num) {
return num * num;
}
function func(num1, num2) {
return square(num1) + square(num2);
}
console.log(func(2, 3)); // θα εμφανίσει 13
Ας υποθέσουμε ότι είμαστε σίγουροι ότι η συνάρτηση square
θα χρησιμοποιείται μόνο στη συνάρτηση func
και σε καμία άλλη.
Σε αυτήν την περίπτωση, θα ήταν βολικό να κάνουμε έτσι ώστε κανείς να μην τη χρησιμοποιεί κατά λάθος (εσείς οι ίδιοι ή ένας άλλος προγραμματιστής που δουλεύει μαζί σας).
Στο JavaScript υπάρχει μια έξυπνη λύση: μπορούμε
να τοποθετήσουμε τη βοηθητική μας συνάρτηση square
μέσα στην func. Σε αυτήν την περίπτωση
η βοηθητική μας συνάρτηση θα είναι προσβάσιμη
μόνο μέσα στην func, και έξω από αυτή - όχι.
Ας το κάνουμε:
function func(num1, num2) {
function square(num) {
return num * num;
}
return square(num1) + square(num2);
}
console.log(func(2, 3)); // θα εμφανίσει 13
Η προσπάθεια κλήσης της square έξω από την func
θα οδηγήσει σε σφάλμα:
function func(num1, num2) {
function square(num) {
return num * num;
}
return square(num1) + square(num2);
}
console.log(square(2)); //!! θα δώσει σφάλμα
Δημιουργήστε μια συνάρτηση func, που θα δέχεται ως παραμέτρους
δύο αριθμούς, και θα επιστρέφει το άθροισμα
του τετραγώνου του πρώτου αριθμού με τον κύβο του δεύτερου αριθμού.
Για αυτό, φτιάξτε μια βοηθητική συνάρτηση
square, που υψώνει έναν αριθμό στο τετράγωνο,
και μια βοηθητική συνάρτηση cube, που υψώνει
έναν αριθμό στον κύβο.