In javascript la dichiarazione "globale" di una variabile è superflua.
Noi possiamo aprire il nostro script e dichiarare direttamente la variabile.
<script type="text/javascript">
a=100;
//sempre meglio comunque var a = 100, per pulizia
</script>
Comportamente diverso invece nel caso di funzioni e dichiarazione di variabili al loro interno.
Infatti se usiamo "var" all’interno di una funzione, dichiariamo una variabile "solo" interna alla funzione (locale).
<script type="text/javascript">
a = 100;
function cambiaA(){
var a;
a=100;
}
</script>
Tale variabile è dichiarata (definita e agisce) solo all’interno della variabile. Se invece rimuovete "var a" da dentro la funzione, andrete a modificare la variabile a globale.
Provate quindi a giocare con questo facile esempio e vedere tutte le possibilià. La regola comunque rimane "se una variabile è dichiarata tramite VAR all’interno di una funzione, tale variabile è locale alla funzione".
<script type="text/javascript">
var a = 100;
function fnA(){
var a = 200;
alert("function a: " + a);
}
fnA();
alert("global a: " + a);
</script>
In ultima, se dichiarate una variabile all’interno di una funzione, senza il var, la variabile sarà considerata come globale.
<script type="text/javascript">
function fnA(){
a = 200;
alert("function a: " + a);
}
fnA();
alert("global a: " + a);
</script>
Grazie dell’ascolto e grazie Othello 🙂