Σύνδεση συνάρτησης JavaScript ()

Η μέθοδος 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 ()

ενδιαφέροντα άρθρα...