JavaScript-funktion bind ()

Metoden JavaScript-funktion bind () tillader et objekt at låne metode fra et andet objekt uden at kopiere.

Metodens syntaks bind()er:

 func.bind(thisArg, arg1,… argN)

Her funcer en funktion.

bind () Parametre

Den bind()metode tager i:

  • thisArg- Værdien, der er angivet som thisparameter for func. Det ignoreres, hvis bundet funktion oprettes ved hjælp af en ny operator.
  • arg1,… argN(valgfrit) - Argumenter, der skal afhænge af argumenter, der leveres til den bundne funktion, når de påberåber sig func.

Bemærkninger:

  • Når du bruger thisArg inde i setTimeout, konverteres primitive værdier til objekter.
  • Hvis thisArgikke er specificeret, behandles dette for det udførende omfang som thisArg.

Returneringsværdi fra bind ()

  • Returnerer en kopi af den givne funktion med den angivne værdi og initialargumenter (hvis de findes).

Eksempel: Brug af 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

Produktion

 100 1 100

Når en metode er sendt et sted adskilt fra objektet - thisgår tabt. Oprettelse af en bundet funktion fra funktionen ved hjælp af det originale objekt løser dette problem pænt

Anbefalet læsning: JavaScript-funktionskald ()

Interessante artikler...