⊗jsPmCxUFC 434 of 505 menu

Kontekst niepowiązanej funkcji w JavaScript

Spójrzmy, co się stanie, jeśli w funkcji wskażemy this, ale nie powiążemy jej z żadnym elementem, w ten sposób:

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

W tym przypadku wynik zależy od tego, czy mamy włączony tryb ścisły czy nie. Jeśli tryb nie jest ścisły, to w this będzie przechowywane odniesienie do window:

function func() { console.log(this); // odniesienie do okna window } func();

A jeśli tryb jest ścisły, to w this będzie przechowywane undefined:

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

Z powyższego opisu może się wydawać, że w trybie ścisłym this zawsze będzie równe undefined. Ależ skąd! Jeśli po prostu wypiszemy this poza funkcją, to będzie tam odniesienie do window, niezależnie od trybu:

"use strict"; console.log(this); // w this odniesienie do window

Podsumowanie

W każdej funkcji można napisać this, nie spowoduje to żadnych błędów JavaScript. Ale to, co dokładnie będzie znajdować się w tym this, nie jest zdefiniowane do momentu wywołania funkcji. Co więcej, przy różnych wywołaniach funkcji this może przyjmować różne wartości. Wszystko zależy od kontekstu, w którym funkcja została wywołana.

Polski
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wykorzystujemy pliki cookie do działania strony, analizy i personalizacji. Przetwarzanie danych odbywa się zgodnie z Polityką prywatności.
zaakceptuj wszystkie dostosuj odrzuć