⊗jsPmFNFRF 252 of 505 menu

Συνάρτηση που επιστρέφει συνάρτηση στο JavaScript

Ας υποθέσουμε ότι έχουμε μια συνάρτηση που επιστρέφει μια συμβολοσειρά:

function func() { return '!'; } let result = func(); console.log(result); // θα εμφανίσει '!'

Τώρα ας επιστρέψουμε, κατ' αναλογία, μια ανώνυμη συνάρτηση αντί για συμβολοσειρά:

function func() { return function() { return '!'; }; } let result = func(); // η μεταβλητή result θα περιέχει μια συνάρτηση console.log(result); // θα εμφανίσει 'function() {return '!';}'

Όπως βλέπετε, η μεταβλητή result τώρα αναπαριστά μια συνάρτηση. Ας εμφανίσουμε στην κονσόλα το αποτέλεσμα της εκτέλεσής της. Για αυτό γράφουμε παραθέσεις:

function func() { return function() { return '!'; }; } let result = func(); console.log( result() ); // θα εμφανίσει '!'

Εφόσον η κλήση func() επιστρέφει μια συνάρτηση, μπορούμε αμέσως να καλέσουμε αυτήν την επιστρεφόμενη συνάρτηση, ως εξής: func()() - οι πρώτες παραθέσεις λαμβάνουν το αποτέλεσμα της συνάρτησης func (το οποίο είναι η ίδια μια συνάρτηση), ενώ οι δεύτερες παραθέσεις εφαρμόζονται στο αποτέλεσμα της func.

Ας δοκιμάσουμε:

function func() { return function() { return '!'; }; } console.log( func()() ); // θα εμφανίσει '!'

Δημιουργήστε τη συνάρτηση func1, η οποία όταν καλείται ως εξής: func1()(), επιστρέφει τον αριθμό 1. Δημιουργήστε μια ανάλογη συνάρτηση func2, που επιστρέφει τον αριθμό 2. Βρείτε το άθροισμα των αποτελεσμάτων αυτών των συναρτήσεων.

Ελληνικά
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Χρησιμοποιούμε cookie για τη λειτουργία του ιστότοπου, την ανάλυση και την εξατομίκευση. Η επεξεργασία των δεδομένων γίνεται σύμφωνα με την Πολιτική Απορρήτου.
αποδοχή όλων ρύθμιση απόρριψη