Viazanie funkcie JavaScript ()

Metóda JavaScript Function bind () umožňuje objektu požičať si metódu od iného objektu bez kopírovania.

Syntax bind()metódy je:

 func.bind(thisArg, arg1,… argN)

Tu funcje funkcia.

parametre bind ()

bind()Metóda berie v:

  • thisArg- Hodnota poskytnutá ako thisparameter pre func. Ak je viazaná funkcia vytvorená pomocou nového operátora, ignoruje sa .
  • arg1,… argN(voliteľné) - Argumenty, ktoré sa majú pred argumentmi poskytnutými viazanej funkcii pri vyvolaní func.

Poznámky:

  • Pri použití thisArg vo vnútri setTimeout sa primitívne hodnoty prevedú na objekty.
  • Ak thisArgnie je zadané, považuje sa to za vykonávajúci rozsah za thisArg.

Vrátiť hodnotu z bind ()

  • Vráti kópiu danej funkcie so zadanou touto hodnotou a počiatočnými argumentmi (ak sú poskytnuté).

Príklad: Použitie 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

Výkon

 100 1 100

Akonáhle je metóda odovzdaná niekde oddelene od objektu - thisje stratená. Vytvorenie viazanej funkcie z funkcie pomocou pôvodného objektu tento problém úhľadne vyrieši

Odporúčané čítanie: Volanie funkcie JavaScript ()

Zaujímavé články...