Before
you use a variable in a JavaScript program, you must
declare it.[12] Variables are declared with the
var
keyword, like this:
var i; var sum;
You can also declare multiple variables with the same
var
keyword:
var i, sum;
And you can combine variable declaration with variable initialization:
var message = "hello"; var i = 0, j = 0, k = 0;
If you don’t specify an initial value for a variable with the
var
statement, the variable is declared, but its
initial value is undefined
until your code stores
a value into it.
Note that the var
statement can also appear as part of the for
and
for/in
loops (introduced in Chapter 6), allowing you to succinctly declare the loop
variable as part of the loop syntax itself. For example:
for(var i = 0; i < 10; i++) document.write(i, "<br>"); for(var i = 0, j=10; i < 10; i++,j--) document.write(i*j, "<br>"); for(var i in o) document.write(i, "<br>");
Variables
declared with var
are
permanent: attempting to delete them with the
delete
operator causes an error. (The
delete
operator is introduced in Chapter 5.)
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.)
Get JavaScript: The Definitive Guide, Fourth Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.