Τα κλεισίματα χρησιμοποιούνται συχνά στο JavaScript για απόρρητο δεδομένων αντικειμένων, σε προγράμματα χειρισμού συμβάντων και συναρτήσεις επανάκλησης και σε μερικές εφαρμογές, currying και άλλα λειτουργικά μοτίβα προγραμματισμού.
Τι είναι το κλείσιμο και πώς θα το χρησιμοποιούσατε;
Το κλείσιμο είναι ένας τρόπος διατήρησης της πρόσβασης σε μεταβλητές σε μια συνάρτηση μετά την επιστροφή της συνάρτησης. … Σε ένα κλείσιμο, αυτές οι μεταβλητές παραμένουν για λίγο ακόμα, καθώς υπάρχει αναφορά στις μεταβλητές μετά την επιστροφή της συνάρτησης.
Πού μπορείτε να υποβάλετε αίτηση για κλείσιμο σε πραγματικό χρόνο;
Δημιουργείται κλείσιμο όταν η εσωτερική συνάρτηση είναι κατά κάποιο τρόπο διαθέσιμη σε οποιοδήποτε πεδίο εκτός της εξωτερικής συνάρτησης. Στον παραπάνω κώδικα, η μεταβλητή ονόματος της εξωτερικής συνάρτησης είναι προσβάσιμη στις εσωτερικές συναρτήσεις και δεν υπάρχει άλλος τρόπος πρόσβασης στις εσωτερικές μεταβλητές εκτός από τις εσωτερικές συναρτήσεις.
Τι είναι το παράδειγμα κλεισίματος;
Στο παραπάνω παράδειγμα, η εξωτερική συνάρτηση Counter επιστρέφει την αναφορά της εσωτερικής συνάρτησης IncreaseCounter. Το IncreaseCounter αυξάνει τον μετρητή της εξωτερικής μεταβλητής σε ένα. … Σύμφωνα με τον ορισμό κλεισίματος, εάν η εσωτερική συνάρτηση έχει πρόσβαση στις μεταβλητές της εξωτερικής συνάρτησης τότε μόνο αυτή ονομάζεται κλείσιμο. Το παρακάτω δεν είναι κλείσιμο.
Ποιες γλώσσες έχουν κλείσει;
Γλώσσες που υποστηρίζουν το κλείσιμο (όπως JavaScript, Swift και Ruby) θα σας επιτρέψουν να διατηρήσετε μια αναφορά σε ένα πεδίο (συμπεριλαμβανομένου του γονικού τουscopes), ακόμα και μετά την ολοκλήρωση της εκτέλεσης του μπλοκ στο οποίο δηλώθηκαν αυτές οι μεταβλητές, με την προϋπόθεση ότι διατηρείτε κάπου μια αναφορά σε αυτό το μπλοκ ή συνάρτηση.