1. if語句
2. do-while語句
do-while語句是一種后測(cè)試循環(huán)語句,即只有在循環(huán)體中的代碼執(zhí)行一次后,才會(huì)測(cè)試出口條件。也就是說在對(duì)表達(dá)式求值之前,循環(huán)體內(nèi)的代碼至少會(huì)執(zhí)行一次。
var i = 0;
do {
i += 2;
} while (i < 10);
alert(i);
這種后測(cè)試語句通常用于循環(huán)體中的代碼至少執(zhí)行一次的情形
3. while語句
while語句是一種前測(cè)試循環(huán)語句,即在循環(huán)體內(nèi)的代碼被執(zhí)行之前,就會(huì)對(duì)出口條件求值。因此,循環(huán)體內(nèi)的代碼有可能永遠(yuǎn)不會(huì)被執(zhí)行。
var i = 0;
while (i < 10) {
i += 2;
}
alert(i);
4. for語句
for語句也是一種前測(cè)試循環(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語句是一種精準(zhǔn)的迭代語句,可以用來枚舉對(duì)象的屬性。
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語句可以在代碼中加標(biāo)簽,以便將來使用
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ì)立即退出循環(huán),強(qiáng)制執(zhí)行循環(huán)后面的語句。而continue語句雖然也是立即退出循環(huán),但退出循環(huán)后會(huì)從循環(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;
}
嚴(yán)格模式下不允許使用with語句,同時(shí)不建議在開發(fā)大型應(yīng)用程序時(shí)使用,因?yàn)樗鼤?huì)導(dǎo)致性能下降,同時(shí)也會(huì)給調(diào)試代碼造成困難。
9. switch語句
switch語句中的每一種情形(case)的含義是:“如果表達(dá)式等于這個(gè)值(value),則執(zhí)行后面的語句(statement)”。而break關(guān)鍵字會(huì)導(dǎo)致代碼執(zhí)行流跳出switch語句。如果省略break關(guān)鍵字,就會(huì)導(dǎo)致執(zhí)行完當(dāng)前case后,繼續(xù)執(zhí)行下一個(gè)case。最后的關(guān)鍵字default關(guān)鍵字用于在表達(dá)式不匹配前面任何一種情況(case)的時(shí)候,執(zhí)行機(jī)動(dòng)代碼。
switch (i) {
case 25:
alert('25');
break;
case 35:
alert('35');
break;
case 45:
alert('45');
break;
default:
alert('another');
}
switch語句在比較值時(shí)使用的是全等操作符,因此不會(huì)發(fā)生類型轉(zhuǎn)換(例如,字符串'10'不等于數(shù)值10)。