Vezava funkcije JavaScript ()

Metoda bind () funkcije JavaScript omogoča predmetu, da si sposodi metodo od drugega predmeta brez kopiranja.

Sintaksa bind()metode je:

 func.bind(thisArg, arg1,… argN)

Tukaj funcje funkcija.

bind () Parametri

bind()Metoda je v:

  • thisArg- Vrednost, navedena kot thisparameter za func. Če se vezana funkcija ustvari z novim operatorjem, se ne upošteva.
  • arg1,… argN(neobvezno) - Argumenti, ki se dodajo argumentom, ki so podani vezani funkciji med klicem func.

Opombe:

  • Pri uporabi thisArg znotraj setTimeout se primitivne vrednosti pretvorijo v predmete.
  • Če thisArgni določeno, se to področje izvajanja obravnava kot thisArg.

Vrnjena vrednost iz bind ()

  • Vrne kopijo dane funkcije z določeno to vrednostjo in začetne argumente (če so na voljo).

Primer: Uporaba 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

Izhod

 100 1 100

Ko je metoda predana nekje ločeno od predmeta - thisse izgubi. Ustvarjanje vezane funkcije iz funkcije z uporabo prvotnega predmeta lepo reši to težavo

Priporočeno branje: klic funkcije JavaScript ()

Zanimive Članki...