⊗jsPmCxCM 440 of 505 menu

Přiřazování kontextu pomocí metody call v JavaScriptu

Takže jsme již probrali, jak ve skutečnosti funguje this. Pojďme se nyní podívat na metody, které umožňují násilně určit, v jakém kontextu je funkce volána (tedy násilně říci, čemu se rovná this).

První metoda, kterou probereme, se jmenuje call. Podívejme se na její funkci na příkladu. Předpokládejme, že máme vstupní pole:

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

Získejme odkaz na toto vstupní pole a zapišme ho do proměnné elem:

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

Vytvořme nyní funkci func, uvnitř které vypíšeme this.value:

function func() { console.log(this.value); }

Zatím naše funkce neví, na co odkazuje this. Kdybychom ji navázali pomocí addEventListener, pak ano. Ale my to neuděláme. Místo toho jednoduše zavoláme naši funkci a řekneme jí, že this se musí rovnat elem.

To se dělá takto: func.call(elem). Tento kód je ekvivalentní prostému volání funkce func takto: func(), pouze s podmínkou, že this je roven elem.

Takže syntaxe metody call je taková: funkce.call(objekt). Pojďme to dát dohromady:

let elem = document.querySelector('#elem'); function func() { console.log(this.value); // vypíše value vstupního pole } func.call(elem);

Je dána funkce:

function func() { console.log(this.value); }

Jsou dána tři vstupní pole:

<input id="elem1" value="text1"> <input id="elem2" value="text2"> <input id="elem3" value="text3">

Pomocí metody call a funkce func vypište na obrazovku value každého z vstupních polí.

Č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