1. if語句
2. do-while語句
do-while語句是一種后測試循環(huán)語句坐搔,即只有在循環(huán)體中的代碼執(zhí)行一次后,才會測試出口條件。也就是說在對表達式求值之前,循環(huán)體內的代碼至少會執(zhí)行一次圣蝎。
var i = 0;
do {
i += 2;
} while (i < 10);
alert(i);
這種后測試語句通常用于循環(huán)體中的代碼至少執(zhí)行一次的情形
3. while語句
while語句是一種前測試循環(huán)語句,即在循環(huán)體內的代碼被執(zhí)行之前衡瓶,就會對出口條件求值徘公。因此,循環(huán)體內的代碼有可能永遠不會被執(zhí)行哮针。
var i = 0;
while (i < 10) {
i += 2;
}
alert(i);
4. for語句
for語句也是一種前測試循環(huán)語句关面,但它具有在執(zhí)行循環(huán)之前初始化變量和定義循環(huán)后要執(zhí)行的代碼的能力。
var count = 10;
for (var i = 0; i < count; i++) {
alert(i);
}
5. for-in語句
for-in語句是一種精準的迭代語句十厢,可以用來枚舉對象的屬性等太。
for (var propName in window) {
document.write(propName);
}
var str = {
name: 'john',
age: 24,
job: 'police'
};
for (var propName in str) {
document.write(propName);
}
6. lable語句
使用lable語句可以在代碼中加標簽,以便將來使用
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);
7. break和continue語句
break和continue語句用于在循環(huán)中精確地控制代碼的執(zhí)行寿烟。其中澈驼,break語句會立即退出循環(huán)辛燥,強制執(zhí)行循環(huán)后面的語句筛武。而continue語句雖然也是立即退出循環(huán),但退出循環(huán)后會從循環(huán)的頂部繼續(xù)執(zhí)行挎塌。
// break 語句
var num = 0;
for (var i = 1;i < 10;i++) {
if (i%5 == 0) {
break;
}
num++;
}
alert(num);
// continue語句
var num = 0;
for (var i = 1;i < 10;i++) {
if (i%5 == 0) {
continue;
}
num++;
}
alert(num);
8. with語句
var qs = location.search.substring(1);
var hostName = location.hostname;
var url = location.href;
// 以上代碼可以使用with語句改寫為如下形式
with (location) {
var qs = search.substring(1);
var hostName = hostname;
var url = href;
}
嚴格模式下不允許使用with語句徘六,同時不建議在開發(fā)大型應用程序時使用,因為它會導致性能下降榴都,同時也會給調試代碼造成困難待锈。
9. switch語句
switch語句中的每一種情形(case)的含義是:“如果表達式等于這個值(value),則執(zhí)行后面的語句(statement)”嘴高。而break關鍵字會導致代碼執(zhí)行流跳出switch語句竿音。如果省略break關鍵字和屎,就會導致執(zhí)行完當前case后,繼續(xù)執(zhí)行下一個case春瞬。最后的關鍵字default關鍵字用于在表達式不匹配前面任何一種情況(case)的時候柴信,執(zhí)行機動代碼。
switch (i) {
case 25:
alert('25');
break;
case 35:
alert('35');
break;
case 45:
alert('45');
break;
default:
alert('another');
}
switch語句在比較值時使用的是全等操作符宽气,因此不會發(fā)生類型轉換(例如随常,字符串'10'不等于數值10)。