⊗jsPmCxUFC 434 of 505 menu

Kontexten för en obunden funktion i JavaScript

Låt oss se vad som händer om vi använder this i en funktion men inte binder den till något element, så här:

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

I detta fall beror resultatet på om vi har strikt läge aktiverat eller inte. Om läget inte är strikt, kommer this att innehålla en referens till window:

function func() { console.log(this); // referens till window } func();

Och om läget är strikt, kommer this att innehålla undefined:

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

Av ovanstående kan det verka som att i strikt läge kommer this alltid att vara undefined. Så är det inte! Om man bara skriver ut this utanför en funktion, kommer det att vara en referens till window oavsett läge:

"use strict"; console.log(this); // i this finns en referens till window

Slutsatser

I vilken funktion som helst kan man skriva this, detta kommer inte att leda till några JavaScript-fel. Men vad exakt som kommer att finnas i detta this är inte definierat förrän funktionen anropas. Dessutom kan this vid olika anrop av funktionen anta olika värden. Allt beror på kontexten i vilken funktionen anropades.

Svenska
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi använder kakor för webbplatsens funktion, analys och personalisering. Behandling av data sker i enlighet med Integritetspolicyn.
acceptera alla anpassa avvisa