if語句
推薦if語句中的表達式不管是不是單行都用大括號括起來以簡化閱讀。
循環語句
JS中支持 do while語句 和 while語句,這兩種的用法與其他語言相似,這裏就不多贅述了,我們看一看for的一些特殊的例子,一看便明白
// 不存在塊級作用域,所以外部也能訪問
for(var i = 0; i < 10; i++){
}
alert(i) // 輸出10
// 無限循環
for(;;){}
// for當成while用
var i = 0;
for(;i < 10;){
i++;
}
for in語句
用於遍歷可以遍歷的對象
for(var propName in window){
document.write(propName);
}
break continue
用法跟我們平常使用沒什麼不同,這裏介紹一個不一樣的用法,就是與label結合之後的跳出指定循環的功能。
可以使用 labelName: 的方式給一個循環加一個標籤,break 或者 continue的時候,加上這個標籤可以指定跳出的循環或者跳到指定的循環
var num = 0;
outmost:for(var i = 0; i < 10; i++){
for(var j = 0; j < 10; j++){
if(i == 5 && j == 5){
// 標籤指示了break操作針對哪個循環
// 下面代碼的意思是直接跳出外層的循環,所以循環就停止了
// 所以輸出55
break outmost;
}
num++;
}
}
alert(num); // 輸出55
var num = 0;
outmost:for(var i = 0; i < 10; i++){
for(var j = 0; j < 10; j++){
if(i == 5 && j == 5){
// 標籤指示了continue操作針對哪個循環
// 下面代碼的意思是直接continue外層的循環,所以循環被跳過了五次
// 所以輸出95
continue outmost;
}
num++;
}
}
alert(num); // 輸出95
with語句
局部塊,不推薦使用,嚴格模式不允許使用with,原因是with使得性能大量下降
window.a = 1;
window.b = 2;
// 可以使用with改寫爲
with(window){
a = 1;
b = 2;
}
switch 語句
switch語句的基本語法與其他語言相同,但是它有自己的優點,就是支持表達式甚至變量,這個特點十分優越,我們可以寫出下面的代碼
// 執行所有結果爲true的表達式後面的語句
switch(true){
case 2 == 3:
alert("2 == 3");
break;
case 2 == 2:
alert("2 == 2");
break;
default:
break;
}
注意switch語句使用的是全等,不是相等,這讓我們十分放心的使用switch語句。