When is "var" needed in js?

The var keyword is never "needed". However if you don't use it then the variable that you are declaring will be exposed in the global scope (i.e. as a property on the window object). Usually this is not what you want.

Usually you only want your variable to be visible in the current scope, and this is what var does for you. It declares the variable in the current scope only (though note that in some cases the "current scope" will coincide with the "global scope", in which case there is no difference between using var and not using var).

When writing code, you should prefer this syntax:

for(var i=0; i< array.length; i++){
    //bababa
}

Or if you must, then like this:

var i;
for(i=0; i< array.length; i++){
   //bababa
}

Doing it like this:

for(i=0; i< array.length; i++){
   //bababa
}

...will create a variable called i in the global scope. If someone else happened to also be using a global i variable, then you've just overwritten their variable.

Tags:

Javascript

Var