Vezanje JavaScript funkcije ()

Metoda bind () funkcije JavaScript omogućuje objektu posuđivanje metode od drugog objekta bez kopiranja.

Sintaksa bind()metode je:

 func.bind(thisArg, arg1,… argN)

Ovdje funcje funkcija.

bind () Parametri

bind()Postupak uzima u:

  • thisArg- Vrijednost navedena kao thisparametar za func. Zanemaruje se ako se vezana funkcija kreira pomoću novog operatora.
  • arg1,… argN(nije obavezno) - Argumenti koji se dodaju argumentima koji se daju vezanoj funkciji prilikom poziva func.

Bilješke:

  • Kada koristite thisArg unutar setTimeout, primitivne vrijednosti pretvaraju se u objekte.
  • Ako thisArgnije navedeno, ovo se izvršnog opsega tretira kao thisArg.

Vrati vrijednost iz bind ()

  • Vraća kopiju zadane funkcije s navedenom ovom vrijednošću i početne argumente (ako su navedeni).

Primjer: Korištenje 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

Izlaz

 100 1 100

Jednom kada se metoda prenese negdje odvojeno od objekta - thisgubi se. Stvaranje vezane funkcije iz funkcije, koristeći izvorni objekt, uredno rješava ovaj problem

Preporučeno čitanje: Poziv funkcije JavaScript ()

Zanimljivi članci...