JavaScript Tutorial for Programmers - Variables and Data Types
July 12, 1998
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)
|
JavaScript Tutorial for Programmers - JavaScript Grammar
JavaScript Tutorial for Programmers
JavaScript Tutorial for Programmers - Operators
|