JavaScript-funktion binda ()

Metoden JavaScript Function bind () tillåter ett objekt att låna metoden från ett annat objekt utan att kopiera.

Syntaxen för bind()metoden är:

 func.bind(thisArg, arg1,… argN)

Här funcär en funktion.

bind () Parametrar

Den bind()metod tar in:

  • thisArg- Värdet som anges som thisparameter för func. Det ignoreras om bunden funktion skapas med en ny operatör.
  • arg1,… argN(valfritt) - Argument som ska bero på argument som tillhandahålls till den bundna funktionen vid anrop func.

Anmärkningar:

  • När du använder dennaArg inuti setTimeout konverteras primitiva värden till objekt.
  • Om thisArginte anges, behandlas detta för det exekverande omfånget som thisArg.

Returvärde från bind ()

  • Returnerar en kopia av den givna funktionen med det angivna värdet och initiala argument (om de finns).

Exempel: Använd 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 metod har skickats någonstans separat från objektet - thisgår förlorad. Att skapa en bunden funktion från funktionen, med hjälp av det ursprungliga objektet, löser detta problem snyggt

Rekommenderad läsning: JavaScript-funktionssamtal ()

Intressanta artiklar...