4.2.1. Repeated and Omitted Declarations
It is legal and harmless to declare a variable more than once with
the var statement. If the repeated declaration has
an initializer, it acts as if it were simply an assignment statement.
If you attempt to read the value of an undeclared variable,
JavaScript will generate an error. If you assign a value to a
variable that you have not declared with var,
JavaScript will implicitly declare that variable for you. Note,
however, that implicitly declared variables are always created as
global variables, even if they are used within the body of a
function. To prevent the creation of a global variable (or the use of
an existing global variable) when you meant to create a local
variable for use within a single function, you must always use the
var statement within function bodies. It's
best to use var for all variables, whether global
or local. (The distinction between local and global variables is
explored in more detail in the next section.)