⊗jsPmCxUFC 434 of 505 menu

Kontext nepřipojené funkce v JavaScriptu

Podívejme se, co se stane, pokud ve funkci uvedeme this, ale nepřipojíme ji k žádnému prvku, například takto:

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

V tomto případě výsledek závisí na tom, zda je povolen přísný režim nebo ne. Pokud režim není přísný, pak v this bude uložen odkaz na window:

function func() { console.log(this); // odkaz na okno window } func();

Pokud je režim přísný, pak v this bude uloženo undefined:

"use strict"; function func() { console.log(this); // undefined } func();

Z výše uvedeného by se mohlo zdát, že v přísném režimu bude this vždy undefined. Ale kdepak! Pokud jednoduše vypíšeme this mimo funkci, pak v něm bude odkaz na window bez ohledu na režim:

"use strict"; console.log(this); // v this odkaz na window

Závěry

V jakékoli funkci lze napsat this, to nepovede k žádným chybám JavaScriptu. Ale co přesně bude uloženo v tomto this není definováno až do okamžiku volání funkce. A přitom při různých voláních funkce může this nabyvat různých hodnot. Vše závisí na kontextu, ve kterém byla funkce volána.

Č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