Ben justement non c'est très différent de mettre var ou pas, et ce n'est pas implicite.
Quand tu écris "var i", ça veut dire que tu créé une variable i qui n'existe qu'à l'intérieur des { } où tu te trouves.
Par exemple :
Code:
if (blabla) {
var i = 5;
alert(i); // ok, affiche 5
}
alert(i); // erreur, car i n'existe plus ici
Si tu ne mets pas de var et que la variable n'existe pas, il va créer une variable globale, c'est à dire accessible absolument partout.
Par exemple :
Code:
function foo() {
i = 5;
}
function bar() {
alert(i);
}
function alpha() {
var i = 2;
alert(i); // affiche 2
}
foo(); // met 5 dans la variable globale i
bar(); // affiche 5, la fonction accède à la variable globale i
alpha(); // affiche 2 en lisant sa propre variable locale i
bar(); // affiche 5, la variable globale i n'a pas changé