⊗jsPmCxUFC 434 of 505 menu

Kontext neviazanej funkcie v JavaScripte

Pozrime sa, čo sa stane, ak v funkcii uviesť this, ale neviazať ju k žiadnemu prvku, takto:

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

V tomto prípade výsledok závisí od toho, či máme prísny režim alebo nie. Ak režim nie je prísny, v this bude uložený odkaz na window:

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

Ak je režim prísny, v this bude uložené undefined:

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

Z vyššie uvedeného by sa mohlo zdať, že v prísnom režime bude this vždy undefined. Ale nie! Ak jednoducho vypíšeme this mimo funkcie, bude v ňom odkaz na window nezávisle od režimu:

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

Závery

V akejkoľvek funkcii môžeme napísať this, nespôsobí to žiadne chyby JavaScriptu. Ale čo presne bude v tomto this nie je definované až do momentu volania funkcie. A pri rôznych volaniach funkcie môže this nadobúdať rôzne hodnoty. Všetko závisí od kontextu, v ktorom bola funkcia volaná.

Slovenčina
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Používame cookies na fungovanie stránky, analýzu a personalizáciu. Spracúvanie údajov prebieha v súlade s Politikou ochrany osobných údajov.
prijať všetky nastaviť odmietnuť