233 of 264 menu

Η μέθοδος bind

Η μέθοδος bind χρησιμοποιείται για τη σύνδεση του context σε μια συνάρτηση. Ως πρώτη παράμετρο πρέπει να μεταβιβάζεται το context, και ως επόμενες παράμετροι - οι παράμετροι της συνάρτησης. Η μέθοδος επιστρέφει μια νέα συνάρτηση, μέσα στην οποία το this θα είναι ίσο με το context που μεταβιβάστηκε.

Σύνταξη

συνάρτηση.bind(context, παράμετρος1, παράμετρος2...);

Παράδειγμα

Ας υποθέσουμε ότι έχουμε ένα input:

<input id="elem" value="text">

Ας υποθέσουμε ότι ο σύνδεσμος προς αυτό το input είναι αποθηκευμένος σε μεταβλητή elem:

let elem = document.querySelector('#elem');

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

function func(param1, param2) { console.log(this.value + param1 + param2); }

Ας χρησιμοποιήσουμε το bind για να δημιουργήσουμε μια νέα συνάρτηση, η οποία θα είναι αντίγραφο της συνάρτησης func, αλλά το this σε αυτήν θα είναι πάντα ίσο με το elem:

let newFunc = func.bind(elem);

Τώρα στη μεταβλητή newFunc βρίσκεται μια συνάρτηση. Ας την καλέσουμε, μεταβιβάζοντας ως πρώτη παράμετρο '1', και ως δεύτερη '2':

newFunc('1', '2');

Ας τα συγκεντρώσουμε όλα μαζί:

let elem = document.getElementById('elem'); function func(param1, param2) { console.log(this.value + param1 + param2); } let newFunc = func.bind(elem); newFunc('1', '2'); // θα εμφανίσει 'text12'

Παράδειγμα

Δεν είναι απαραίτητο να αποθηκεύουμε το αποτέλεσμα της λειτουργίας του bind σε μια νέα συνάρτηση newFunc, μπορούμε απλά να αντικαταστήσουμε την func:

let func = func.bind(elem);

Δείτε επίσης

  • η μέθοδος call,
    που καλεί μια συνάρτηση με context
  • η μέθοδος apply,
    που καλεί μια συνάρτηση με context
Ελληνικά
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 για τη λειτουργία του ιστότοπου, την ανάλυση και την εξατομίκευση. Η επεξεργασία των δεδομένων γίνεται σύμφωνα με την Πολιτική Απορρήτου.
αποδοχή όλων ρύθμιση απόρριψη