Metoda JavaScript Function bind () permite unui obiect să împrumute metoda de la alt obiect fără a copia.
Sintaxa bind()
metodei este:
func.bind(thisArg, arg1,… argN)
Iată func
o funcție.
bind () Parametri
bind()
Metoda ia în:
thisArg
- Valoarea furnizată cathis
parametru pentrufunc
. Este ignorat dacă funcția legată este creată folosind un nou operator.arg1,… argN
(opțional) - Argumente pentru a se anexa la argumentele furnizate funcției legate atunci când se invocăfunc
.
Note:
- Când utilizați thisArg în setTimeout, valorile primitive sunt convertite în obiecte.
- În cazul în care
thisArg
nu este specificat, acest lucru a domeniului de aplicare de executare este tratat cathisArg
.
Returnează valoarea din bind ()
- Returnează o copie a funcției date cu această valoare specificată și argumentele inițiale (dacă sunt furnizate).
Exemplu: Utilizarea 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
Ieșire
100 1 100
Odată ce o metodă este trecută undeva separat de obiect - this
se pierde. Crearea unei funcții legate din funcție, folosind obiectul original, rezolvă îngrijit această problemă
Lectură recomandată: Apelare funcție JavaScript ()