233 of 264 menu

Metoda bind

Metoda bind slouží k navázání kontextu na funkci. Jako první parametr se předává kontext a následujícími parametry jsou parametry funkce. Metoda vrací novou funkci, uvnitř které bude this rovno předanému kontextu.

Syntaxe

funkce.bind(kontext, parametr1, parametr2...);

Příklad

Předpokládejme, že máme vstupní pole:

<input id="elem" value="text">

Předpokládejme, že odkaz na toto vstupní pole je uložen v proměnné elem:

let elem = document.querySelector('#elem');

Předpokládejme také, že máme následující funkci func:

function func(param1, param2) { console.log(this.value + param1 + param2); }

Pomocí bind vytvoříme novou funkci, která bude kopií funkce func, ale this v ní bude vždy rovno elem:

let newFunc = func.bind(elem);

Nyní je v proměnné newFunc uložena funkce. Zavolejme ji a předejme jí první parametr '1' a druhý '2':

newFunc('1', '2');

Shrňme vše dohromady:

let elem = document.getElementById('elem'); function func(param1, param2) { console.log(this.value + param1 + param2); } let newFunc = func.bind(elem); newFunc('1', '2'); // vypíše 'text12'

Příklad

Výsledek práce bind nemusí být nutně uložen do nové funkce newFunc, lze jednoduše přepsat func:

let func = func.bind(elem);

Viz také

  • metoda call,
    která volá funkci s kontextem
  • metoda apply,
    která volá funkci s kontextem
Čeština
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Používáme soubory cookie pro fungování webu, analýzu a personalizaci. Zpracování údajů probíhá v souladu s Zásadami ochrany osobních údajů.
přijmout vše přizpůsobit odmítnout