語句
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.');
}