
In JavaScript le variabili hanno una portata che si chiama scope: è un concetto importante da capire in JavaScript, perché è spesso fonte di errori. A seconda di dove dichiari la variabile, infatti, lo scope cambia. Se la dichiari dentro una funzione, può essere usata solo in quella funzione. I tipi di variabile sono due: le variabili locali e le variabili globali.
var tutu = "tutu"; // 1
function maFonction() {
var toto = "toto"; // 2
return toto;
}- tutu è quella che si chiama una variabile globale: può essere usata ovunque nello script, anche dentro una funzione.
- anche toto è una variabile, ma locale: non può essere usata fuori dalla sua funzione.
Variabile locale
Quando crei una variabile locale, cioè una variabile dentro una funzione dichiarata con var, quella variabile è utilizzabile solo in quella funzione. Si dice allora che è locale, o che ha una portata limitata alla funzione in cui è stata dichiarata. Fuori da lì non è leggibile. Il browser crea le variabili locali quando la funzione viene eseguita e le elimina appena la funzione ha finito il suo lavoro. Da sapere anche:
- Due funzioni diverse possono usare variabili con lo stesso nome senza creare conflitti di nome.
- Se la funzione viene chiamata più volte, la variabile può avere un valore diverso a ogni chiamata.
Variabile globale
Le variabili globali si possono usare ovunque nello script e si dichiarano fuori da una funzione. Si dice che hanno una portata globale.
Le variabili globali restano in memoria nel browser. Occupano quindi più memoria di quelle locali e aumentano il rischio di conflitti di nome con altri script. Per questo conviene usare le variabili locali il più possibile.


