Vazba funkce JavaScriptu ()

Metoda JavaScript Function bind () umožňuje objektu vypůjčit si metodu z jiného objektu bez kopírování.

Syntaxe bind()metody je:

 func.bind(thisArg, arg1,… argN)

Tady funcje funkce.

parametry bind ()

bind()Metoda bere v:

  • thisArg- Hodnota zadaná jako thisparametr pro func. Pokud je vázaná funkce vytvořena pomocí nového operátoru, je ignorována .
  • arg1,… argN(nepovinné) - Argumenty, které se před vyvoláním argumentů poskytnutých vázané funkci při vyvolání func.

Poznámky:

  • Při použití thisArg uvnitř setTimeout se primitivní hodnoty převedou na objekty.
  • Pokud thisArgnení zadán, bude s tímto provádějícím oborem zacházeno jako thisArg.

Vrátit hodnotu z bind ()

  • Vrátí kopii dané funkce se zadanou touto hodnotou a počátečními argumenty (jsou-li k dispozici).

Příklad: Použití 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ýstup

 100 1100

Jakmile je metoda předána někde odděleně od objektu - thisje ztracena. Vytvoření vázané funkce z funkce pomocí původního objektu tento problém úhledně vyřeší

Doporučené čtení: Volání funkce JavaScriptu ()

Zajímavé články...