语句
ECMA-262规定了一组语句(也称为流控制语句)。
if 语句
- if语句语法
if(condition) statement1 else statement2
if(condition) statement1 else if statement2 else statement3
其中condition(条件)可以是任意表达式;对这个表达式求值的结果不一定是布尔值。ECMAScript会自动调用Boolean()转换函数将这个表达式的结果转换为一个布尔值。
if(i>25){
alert("Greater than 25.");
}else{
alert("Less than or equal to 25.")
}
if(i>25){
alert("Greater than 25.");
}else if(i < 0){
alert("Less than 0.")
}else{
alert("Between 0 and 25,inclusive.")
}
do-while 语句
循环体内的代码至少会被执行一次。
- do-while语句语法
do{
statement
}while(expression);
var i = 0;
do{
i += 2;
}while(i <10);
alert(i);
while 语句
- while语句语法
while(expression) statement
var i = 0;
while(i < 10){
i += 2;
}
for 语句
- for 语句语法
for(initialization; expression; post-loop-expression) statement
var count = 10;
for(var i = 0; i < count; i++){
alert(i);
}
for-in 语句
可以用来枚举对象的属性。
- for-in 语句语法
for(property in expression) statement
for(var propName in window){
document.write(propName);
}
在使用 for-in 循环之前,先检测确认该对象的值不是 null 或
undefin。
label 语句
使用 label 语句可以在代码中添加标签,以便将来使用。
- label 语句语法
label :statement
start: for(var i=0; i<count; i++){
alert(i);
}
这个例子中定义的 start 标签可以在将来由 break 或 continue 语句引用。加标签的语句一般都要与 for 语句等循环语句配合使用。
break 和 continue 语句
break 和 continue 语句用于在循环中精确地控制代码的执行。
break立即退出循环,强制继续执行循环后面的语句。
continue语句虽然立即退出循环,但退出循环后会从循环的顶部继续执行。
var num = 0;
for (var i=1; i<10; i++){
if(i%5 == 0){
break;
}
num++;
}
alert(num); //4
var num = 0;
for (var i=1; i<10; i++){
if(i%5 == 0){
continue;
}
num++;
}
alert(num); //8
var num = 0;
outermost: for(var i=0; i<10; i++){
for(var j=0; j<10; j++){
if(i==5 && j==5){
break outermost;
}
num++;
}
}
alert(num); //55
var num = 0;
outermost: for(var i=0; i<10; i++){
for(var j=0; j<10; j++){
if(i==5 && j==5){
continue outermost;
}
num++;
}
}
alert(num); //95
with 语句
with语句的作用是将代码的作用域设置到一个特定的对象中。
- with 语句语法
with (expression) statement;
var qs = location.search.substring(1);
var hostName = location.hostname;
var url = location.href;
with(location){
var qs = search.substring(1);
var hostName = hostname;
var url = href;
}
严格模式下不允许使用with语句,否则将视为语法错误。
switch 语句
- switch 语句语法
switch(expression){
case value: statement
break;
case value: statement
break;
case value: statement
break;
case value: statement
break;
default : statement
}
if(i==25){
alert("25");
}else if(i==35){
alert("35");
}else if(i==45){
alert("45");
}else{
alert("Other");
}
switch(i){
case 25:
alert("25");
break;
case 35:
alert("35");
break;
case 45:
alert("45");
break;
default:
alert("Other");
}
switch(i){
case 25:
case 35:
alert("25 or 35");
break;
case 45:
alert("45");
break;
default:
alert("Other");
}
switch("hello world"){
case "hello" + "world":
alert("Greeting was found");
break;
case "goodbye":
alert("Closing was found");
break;
default:
alert("Unexpected message was found.");
}
var num=25;
switch(true){
case num<0:
alert('Less than 0.');
break;
case num>=0 && num<=10:
alert('Between 0 and 10.');
break;
case num>10 && num<=20:
alert('Between 10 and 20.');
break;
default:
alert('More than 20.');
}