Η μέθοδος JavaScript Function bind () επιτρέπει σε ένα αντικείμενο να δανειστεί τη μέθοδο από άλλο αντικείμενο χωρίς αντιγραφή.
Η σύνταξη της bind()
μεθόδου είναι:
func.bind(thisArg, arg1,… argN)
Εδώ, func
είναι μια συνάρτηση.
bind () Παράμετροι
Η bind()
μέθοδος περιλαμβάνει:
thisArg
- Η τιμή που παρέχεται ωςthis
παράμετρος γιαfunc
. Αγνοείται εάν δημιουργηθεί δεσμευμένη λειτουργία χρησιμοποιώντας νέο χειριστή.arg1,… argN
(προαιρετικά) - Επιχειρήματα για προσκόλληση σε ορίσματα που παρέχονται στη συνδεδεμένη συνάρτηση κατά την επίκλησηfunc
.
Σημειώσεις:
- Κατά τη χρήση αυτού του οργάνου στο setTimeout, οι αρχικές τιμές μετατρέπονται σε αντικείμενα.
- Εάν
thisArg
δεν προσδιοριστεί, αυτό του εύρους εκτέλεσης αντιμετωπίζεται ωςthisArg
.
Τιμή επιστροφής από bind ()
- Επιστρέφει ένα αντίγραφο της δεδομένης συνάρτησης με την καθορισμένη αυτή τιμή και τα αρχικά ορίσματα (εάν παρέχονται).
Παράδειγμα: Χρήση δέσμευσης ()
this.x = 1; // "this" here is the global window object in browser const obj = ( x: 100, getX: function () ( return this.x; ), ); console.log(obj.getX()); // 100 const retrieveX = obj.getX; // the function gets invoked at the global scope console.log(retrieveX()); // 1 // Create a new function with 'this' bound to obj // global variable 'x' with obj's property 'x' are two separate entities const boundGetX = retrieveX.bind(obj); console.log(boundGetX()); // 100
Παραγωγή
100 1 100
Μόλις μια μέθοδος περάσει κάπου ξεχωριστά από το αντικείμενο - this
χάνεται. Η δημιουργία μιας δεσμευμένης συνάρτησης από τη συνάρτηση, χρησιμοποιώντας το αρχικό αντικείμενο, λύνει με προσοχή αυτό το πρόβλημα
Συνιστώμενη ανάγνωση: Κλήση λειτουργίας JavaScript ()