⊗jsPmCxBM 443 of 505 menu

Δέσμευση του περιβάλλοντος μέσω της μεθόδου bind στην JavaScript

Η επόμενη μέθοδος bind επιτρέπει τη μόνιμη δέσμευση του περιβάλλοντος σε μια συνάρτηση. Ως αποτέλεσμα αυτή η μέθοδος επιστρέφει μια νέα συνάρτηση, μέσα στην οποία το this θα έχει μια αυστηρά καθορισμένη τιμή.

Ας δούμε ένα παράδειγμα.

Ας υποθέσουμε ότι έχουμε ένα 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' (υπενθυμίζω ότι στο elem βρίσκεται ένα input με value, ίσο με 'text'):

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. Μετά από αυτό, η func θα είναι η ίδια συνάρτηση όπως ήταν, αλλά με σκληρά δεσμευμένο this:

func = func.bind(elem);

Ας υποθέσουμε ότι δίνεται ο ακόλουθος κώδικας:

<input id="elem" value="hello"> let elem = document.getElementById('elem'); function func(name, surname) { console.log(this.value + ', ' + name + ' ' + surname); } // εδώ γράψτε την κατασκευή με bind() func('John', 'Smit'); // εδώ θα πρέπει να τυπώσει 'hello, John Smit' func('Eric', 'Luis'); // εδώ θα πρέπει να τυπώσει 'hello, Eric Luis'

Γράψτε στη συγκεκριμένη θέση μια κατασκευή με τη μέθοδο bind έτσι ώστε το this μέσα στη συνάρτηση func να δείχνει πάντα στο input από τη μεταβλητή elem.

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