⊗jsPmCxUFC 434 of 505 menu

Contesto di una funzione non associata in JavaScript

Diamo un'occhiata a cosa succede se in una funzione si specifica this, ma non la si associa a nessun elemento, in questo modo:

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

In questo caso il risultato dipende dal fatto che la modalità strict sia attiva o meno. Se la modalità non è strict, in this sarà memorizzato un riferimento a window:

function func() { console.log(this); // riferimento all'oggetto window } func();

Se invece la modalità è strict, in this sarà memorizzato undefined:

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

Da quanto detto sopra potrebbe sembrare che in modalità strict this sia sempre undefined. Niente di più sbagliato! Se semplicemente si stampa this al di fuori di una funzione, in esso ci sarà un riferimento a window indipendentemente dalla modalità:

"use strict"; console.log(this); // in this c'è un riferimento a window

Conclusioni

In qualsiasi funzione si può scrivere this, ciò non porterà ad alcun errore JavaScript. Ma cosa esattamente ci sarà dentro questo this non è definito fino al momento della chiamata della funzione. Inoltre, in chiamate diverse della funzione this può assumere valori diversi. Tutto dipende dal contesto in cui la funzione è stata chiamata.

Italiano
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesia日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Utilizziamo i cookie per il funzionamento del sito, l'analisi e la personalizzazione. I dati vengono elaborati in conformità con la Politica sulla privacy.
accetta tutto personalizza rifiuta