1. for-in語(yǔ)句。
精準(zhǔn)迭代語(yǔ)句,用于枚舉對(duì)象屬性。
如果要迭代的對(duì)象是undefined或者null,ES5對(duì)它不拋出錯(cuò)誤,但是也不執(zhí)行循環(huán)體。
所以建議在for-in之前,先確認(rèn)該對(duì)象不是undefined或null。也可使用對(duì)象的propertyIsEnumerable(propertyName)方法。
for (var property in expression){? //這里的var不是必要的,但是為了保證使用局部變量,建議這里使用var
??? statement;? //每次循環(huán)都會(huì)將expression的屬性賦給property,屬性賦予順序不可預(yù)測(cè)。
}
2.switch語(yǔ)句。
switch中比較的值可以使用任何數(shù)據(jù)類型;每個(gè)case的值不一定是常量,可以是變量,甚至是表達(dá)式。
在比較時(shí)使用的是全等操作符,因此不會(huì)發(fā)生類型轉(zhuǎn)換。
3.with語(yǔ)句。
作用是將代碼的作用域設(shè)置到一個(gè)特定的對(duì)象中。例如,
var qs=location.search.substring(1);
var hostName=location.hostname;
用with語(yǔ)句可改寫為:
with(location){
??? var qs=search.substring(1);
??? var hostName=hostname;
}
4.if語(yǔ)句。
5.do-while語(yǔ)句。
6.while語(yǔ)句。
7.for語(yǔ)句。
8. label語(yǔ)句。
9.break和continue語(yǔ)句。
break是退出整個(gè)循環(huán);continue是退出當(dāng)前這一層循環(huán)。
break和continue都可以與label語(yǔ)句聯(lián)合使用,常用在嵌套循環(huán)的場(chǎng)合下。