⊗jsPmCxUFC 434 of 505 menu

Contextul unei funcții nelegate în JavaScript

Să vedem ce se întâmplă dacă într-o funcție specificăm this, dar nu o legăm de niciun element, astfel:

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

În acest caz, rezultatul depinde de faptul dacă modul este strict sau nu. Dacă modul nu este strict, atunci în this va stoca o referință la window:

function func() { console.log(this); // referință la window } func();

Iar dacă modul este strict, atunci în this va stoca undefined:

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

Din cele menționate mai sus, s-ar putea părea că în modul strict this va fi întotdeauna undefined. Dar nu este așa! Dacă pur și simplu afișăm this în afara unei funcții, atunci în el va fi o referință la window indiferent de mod:

"use strict"; console.log(this); // în this referință la window

Concluzii

În orice funcție se poate scrie this, acest lucru nu va duce la erori în JavaScript. Dar ce anume va fi stocat în acest this nu este definit până în momentul apelării funcției. Mai mult, la apelări diferite ale funcției, this poate primi valori diferite. Totul depinde de contextul în care a fost apelată funcția.

Română
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Folosim cookie pentru funcționarea site-ului, analiză și personalizare. Prelucrarea datelor are loc în conformitate cu Politica de confidențialitate.
acceptă toate configurează respinge