Statements
JavaScript statements consist of keywords used with the appropriate syntax. A
single statement may span multiple lines. Multiple statements may occur on a
single line if each statement is separated by a semi-colon.
Syntax conventions: All keywords in syntax statements are in bold.
Words in italics represent user-defined names or statements. Any portions
enclosed in square brackets, [ ], are optional.
indicates a block of statements, which can consist of a single statement or
multiple statements delimited by a curly braces {}.
The following statements are available in JavaScript:
NOTE: new and this are not really statements, but are included
in this section for convenience.
break
A statement that terminates the current while or for loop and
transfers program control to the statement following the terminated loop.
Syntax
break
Examples
The following function has a break statement that terminates the
while loop when i is 3, and then returns the value 3 * x.
comment
Notations by the author to explain what a script does. Comments are ignored
by the interpreter. JavaScript supports Java-style comments:
- Comments on a single line are preceded by a double-slash (//).
- Comments that span multiple lines are preceded by a /* and followed by a */.
Syntax
1. // comment text
2. /* multiple line comment text */
Examples
continue
A statement that terminates execution of the block of statements in a
while or for loop, and continues execution of the loop with the
next iteration. In contrast to the break statement, continue does
not terminate the execution of the loop entirely: instead,
- In a while loop, it jumps back to the condition.
- In a for loop, it jumps to the update expression.
Syntax
continue
Examples
The following example shows a while loop that has a continue
statement that executes when the value of i is 3. Thus, n takes on
the values 1, 3, 7, and 12.
for
A statement that creates a loop that consists of three optional expressions,
enclosed in parentheses and separated by semicolons, followed by a block of
statements executed in the loop.
Syntax
for ([initial-expression;] [condition;] [increment-expression]) {
statements
}
initial-expression is a statement or variable declaration. It is
typically used to initialize a counter variable. This expression may optionally
declare new variables with the
var keyword.
condition is evaluated on each pass through the loop. If this
condition evaluates to true, the statements in statements are performed.
This conditional test is optional. If omitted, the condition always evaluates to
true.
increment-expression is generally used to update or increment the
counter variable.
statements is a block of statements that are executed as long as
condition evaluates to true. This can be a single statement or multiple
statements. Although not required, it is good practice to indent these
statements from the beginning of the for statement.
Examples
The following for statement starts by declaring the variable i
and initializing it to zero. It checks that i is less than nine, performs
the two succeeding statements, and increments i by one after each pass
through the loop.
for...in
A statement that iterates a specified variable over all the properties of an
object. For each distinct property, JavaScript executes the specified
statements.
Syntax
for (variable in object) {
statements }
variable is the variable to iterate over every property.
object is the object for which the properties are iterated.
statements specifies the statements to execute for each property.
Examples
The following function takes as its argument an object and the object's name.
It then iterates over all the object's properties and returns a string that
lists the property names and their values.
function
A statement that declares a JavaScript function name with the
specified parameters param. Acceptable parameters include strings,
numbers, and objects.
To return a value, the function must have a return statement that
specifies the value to return. You cannot nest a function statement in another
statement or in itself.
All parameters are passed to functions, by value. In other words, the
value is passed to the function, but if the function changes the value of the
parameter, this change is not reflected globally or in the calling function.
Syntax
function name([param] [, param] [..., param]) {
statements }
Examples
if...else
A statement that executes a set of statements if a specified condition is
true. If the condition is false, another set of statements can be executed.
Syntax
if (condition) {
statements1 }
[else {
statements2}]
condition can be any JavaScript expression that evaluates to true or
false. Parentheses are required around the condition. If condition
evaluates to true, the statements in statements1 are executed.
statements1 and statements2 can be any JavaScript statements,
including further nested if statements. Multiple statements must be
enclosed in braces.
Examples
new
An operator that lets you create an instance of a user-defined object type.
Creating an object type requires two steps:
- Define the object type by writing a function.
- Create an instance of the object with new.
To define an object type, create a function for the object type that
specifies its name, properties, and methods. An object can have a property that
is itself another object. See the examples below.
You can always add a property to a previously defined object. For example,
the statement adds a property color to
car1, and assigns it a value of "black". However, this does not affect
any other objects. To add the new property to all objects of the same type, you
must add the property to the definition of the car object type.
Syntax
objectName = new objectType ( param1 [,param2] ...[,paramN] )
objectName is the name of the new object instance.
objectType is the object type. It must be a function that defines an
object type.
param1...paramN are the property values for the object.
These properties are parameters defined for the
objectType function.
Examples
Example 1: object type and object instance.Suppose you want to create
an object type for cars. You want this type of object to be called car,
and you want it to have properties for make, model, year, and color. To do this,
you would write the following function:
Now you can create an object called mycar as follows:
This statement creates mycar and assigns it the specified values for
its properties. Then the value of mycar.make is the string "Eagle",
mycar.year is the integer 1993, and so on.
You can create any number of car objects by calls to new. For
example,
Example 2: object property that is itself another object. Suppose you
define an object called person as follows:
And then instantiate two new person objects as follows:
Then you can rewrite the definition of car to include an owner
property that takes a person object, as follows:
To instantiate the new objects, you then use the following:
Instead of passing a literal string or integer value when creating the new
objects, the above statements pass the objects rand and ken as the
parameters for the owners. To find out the name of the owner of car2, you
can access the following property:
return
A statement that specifies the value to be returned by a function.
Syntax
return expression
Examples
The following function returns the square of its argument, x, where
x is a number.
this
A keyword that you can use to refer to the current object. In general, in a
method this refers to the calling object.
Syntax
this[.propertyName]
Examples
Suppose a function called validate validates an object's value
property, given the object and the high and low values:
You could call validate in each form element's onChange event handler,
using this to pass it the form element, as in the following example:
var
A statement that declares a variable, optionally initializing it to a value.
The scope of a variable is the current function or, for variables declared
outside a function, the current application.
Using var outside a function is optional; you can declare a variable
by simply assigning it a value. However, it is good style to use var, and
it is necessary in functions if a global variable of the same name exists.
Syntax
var varname [= value] [..., varname [= value] ]
varname is the variable name. It can be any legal identifier.
value is the intial value of the variable and can be any legal
expression.
Examples
while
A statement that creates a loop that evaluates an expression, and if it is
true, executes a block of statements. The loop then repeats, as long as the
specified condition is true.
Syntax
while (condition) {
statements
}
condition is evaluated before each pass through the loop. If this
condition evaluates to true, the statements in the succeeding block are
performed. When
condition evaluates to false, execution continues with
the statement following
statements.
statements is a block of statements that are executed as long as the
condition evaluates to true. Although not required, it is good practice
to indent these statements from the beginning of the while statement.
Examples
The following while loop iterates as long as n is less than
three.
Each iteration, the loop increments n and adds it to x.
Therefore, x and n take on the following values:
- After the first pass: n = 1 and x = 1
- After the second pass: n = 2 and x = 3
- After the third pass: n = 3 and x = 6
After completing the third pass, the condition is no longer
true, so the loop terminates.
with
A statement that establishes a the default object for a set of statements.
Within the set of statements, any property references that do not specify an
object are assumed to be for the default object.
Syntax
with (object){
statements
}
object specifies the default object to use for the
statements. The parentheses are required around
object.
statements is any block of statements.
Examples
The following with statement specifies that the Math object is the
default object. The statements following the with statement refer to the
PI property and the cos and sin methods, without specifying an object.
JavaScript assumes the Math object for these references.