⊗jsPmFVNC 220 of 505 menu

Nomi di variabili identici nelle funzioni in JavaScript

Supponiamo che sia all'esterno che all'interno della funzione ci sia una variabile num. In questo caso, qualsiasi modifica alla variabile locale num non influisce in alcun modo sulla variabile globale num:

let num = 1; // variabile globale function func() { let num = 2; // variabile locale console.log(num); } func(); // chiamiamo la funzione, stamperà 2 console.log(num); // stamperà 1 - la variabile globale non è cambiata

Ma, se dimentichiamo di dichiarare la variabile locale num tramite let, allora all'interno della funzione non verrà creata la variabile locale num, ma semplicemente verrà modificata la variabile globale:

let num = 1; function func() { num = 2; // dimenticato di scrivere let - modifichiamo la variabile esterna console.log(num); } func(); // chiamiamo la funzione, stamperà 2 console.log(num); // stamperà 2 - la variabile è cambiata

Qui possono verificarsi due situazioni: o volevamo davvero cambiare la variabile globale (allora tutto ok), oppure abbiamo dimenticato let e accidentalmente cambiato la variabile globale.

Il secondo caso è un errore difficile da individuare, che porta a un comportamento imprevedibile dello script. Pertanto, ogni volta che si introduce una nuova variabile, dichiaratela sempre tramite let.

Determinate, senza eseguire il codice, cosa verrà stampato in console:

let num = 1; function func() { num = 2; } func(); console.log(num);

Determinate, senza eseguire il codice, cosa verrà stampato in console:

let num = 1; function func() { let num = 2; } func(); console.log(num);
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