JavaScript Tutorial for Programmers - Variables
and Data Types
Variables store and retrieve data, also known as "values".
A variable can refer to a value which changes or is changed.
Variables are referred to by name, although the name you
give them must conform to certain rules. A JavaScript
identifier, or name, must start with a letter or underscore
("_"); subsequent characters can also be digits
(0-9). Because JavaScript is case sensitive, letters include
the characters "A" through "Z" (uppercase)
and the characters "a" through "z"
(lowercase). Typically, variable names are chosen to be
meaningful regarding the value they hold. For example,
a good variable name for containing the total price of
goods orders would be total.
scope
When you assign a new variable to an initial value,
you must consider the issue of scope. A variable
may be scoped as either global or local.
A global variable may be accessed from any JavaScript
on the page. A local variable may only be accessed from
within the function in which it was assigned.
Commonly, you create a new global variable by simply
assigning it a value:
However, if you are coding within a function and you
want to create a local variable which only scopes within
that function you must declare the new variable using
the var statement:
function newFunction()
{ var loop=1;
total=0;
...additional statements...
}
|
In the example above, the variable loop will
be local to newFunction(), while total
will be global to the entire page.
type
A value, the data assigned to a variable, may consist
of any sort of data. However, JavaScript considers data
to fall into several possible types. Depending
on the type of data, certain operations may or may not
be able to be performed on the values. For example,
you cannot arithmetically multiply two string values.
Variables can be these types:
|
Numbers
|
3 or 7.987, Integer and floating-point numbers.
- Integers can be positive, 0, or negative;
Integers can be expressed in decimal (base 10),
hexadecimal (base 16), and octal (base 8). A
decimal integer literal consists of a sequence
of digits without a leading 0 (zero). A leading
0 (zero) on an integer literal indicates it
is in octal; a leading 0x (or 0X) indicates
hexadecimal. Hexadecimal integers can include
digits (0-9) and the letters a-f and A-F. Octal
integers can include only the digits 0-7.
- A floating-point number can contain either
a decimal point, an "e" (uppercase
or lowercase), which is used to represent "ten
to the power of" in scientific notation,
or both. The exponent part is an "e"
or "E" followed by an integer, which
can be signed (preceded by "+" or
"-"). A floating-point literal must
have at least one digit and either a decimal
point or "e" (or "E").
|
|
Booleans
|
True or False. The possible Boolean
values are true and false. These are special values,
and are not usable as 1 and 0. In a comparison,
any expression that evaluates to 0 is taken to be
false, and any statement that evaluates to a number
other than 0 is taken to be true. |
|
Strings
|
"Hello World !" Strings
are delineated by single or double quotation marks.
(Use single quotes to type strings that contain
quotation marks.) |
|
Objects
|
myObj = new Object(); |
|
Null
|
Not the same as zero - no value at
all. A null value is one that has no value and means
nothing. |
|
Undefined
|
A value that is undefined is a value
held by a variable after it has been created, but
before a value has been assigned to it. |
That said, JavaScript is a loosely typed language
-- you do not have to specify the data type of a variable
when you declare it, and data types are converted automatically
as needed during script execution. By and large, you
may simply assign any type of data to any variable.
The only time data typing matters is when you need to
perform operations on the data. Certain operators behave
differently depending on the type of data being deal
with. For example, consider the + operator:
|
"5" + "10"
|
yields
|
"510" (string concatenation)
|
|
5 + 10
|
yields
|
15 (arithmetic sum)
|
|