switch Statement
Enables the execution of one or more statements when a specified expression's value matches a label.
switch (expression) {
case label :
statementlist
case label :
statementlist
...
default :
statementlist
}
Arguments
expression
The expression to be evaluated.
label
An identifier to be matched against expression. If label === expression, execution starts with the statementlist immediately after the colon, and continues until it encounters either a break statement, which is optional, or the end of the switch statement.
statementlist
One or more statements to be executed.
Remarks
Use the default clause to provide a statement to be executed if none of the label values matches expression. It can appear anywhere within the switch code block.
Zero or more label blocks may be specified. If no label matches the value of expression, and a default case is not supplied, no statements are executed.
Execution flows through a switch statement as follows:
Evaluate expression and look at label in order until a match is found.
If a label value equals expression, execute its accompanying statementlist.
Continue execution until a break statement is encountered, or the switch statement ends. This means that multiple label blocks are executed if a break statement is not used.
If no label equals expression, go to the default case. If there is no default case, go to last step.
Continue execution at the statement following the end of the switch code block.
Example
The following example tests an object for its type.
function MyObject() {
...}
switch (object.constructor){
case Date:
...
case Number:
...
case String:
...
case MyObject:
...
default:
...
}
Requirements
Version 3
with Statement
Establishes the default object for a statement.
with (object)
statements
Arguments
object
The new default object.
statements
One or more statements for which object is the default object.
Remarks
The with statement is commonly used to shorten the amount of code that you have to write in certain situations. In the example that follows, notice the repeated use of Math.
x = Math.cos(3 * Math.PI) + Math.sin(Math.LN10)
y = Math.tan(14 * Math.E)
When you use the with statement, your code becomes shorter and easier to read:
with (Math){
x = cos(3 * PI) + sin (LN10)
y = tan(14 * E)
}
Requirements
Version 1

