JavaScript 流程控制 label 和 break 語句
■知識點
在JavaScript中,使用label語句可以為一行語句添加標簽,以便在復雜的結構中設置跳轉目標。其語法格式如下:
label : statements
break語句能夠結束當前for、for/in> while、do/while或者switch語句的執(zhí)行。同時break可以接受一個可選的標簽名,來決定跳出的結構語句。其語法格式如下:
break label;
如果沒有設置標簽名,則表示跳出當前最內層結構。
■實例設計
【示例1】下面的示例設計在客戶端查找document的bgColor屬性。如果完全遍歷document對象,會浪費時間,因此設計一個條件,判斷所枚舉的屬性名是否等于“bgColor”,如果相等,則使用break語句跳出循環(huán)。
for(i in document){
if(i.toStringO == "bgColor"){
document.write ("document." + i + " = " + document [i] + "<br />");
break;
}
}
在上面的代碼中,break語句并非跳出當前的if結構體,而是跳出當前最內層的循環(huán)結構。
【示例2】在下面嵌套的結構中,break語句并沒有跳出for/in結構,它僅僅退出了switch結構。
for(i in document){
switch(i.toString()){
case "bgColor":
document.write("document." + i + "=" + document[i] + "<br />");
break;
default:
document .write ("沒有找到");
}
}
【示例3】針對示例2,可以為for/in語句定義一個標簽outloop,然后在最內層的break語句中設置該標簽名,這樣當條件滿足時就可以跳出最外層的for/iii循環(huán)結構。
outloop:for(i in document){
switch(i.toString()){
case "bgColor":
document.write("document." + i + + document[i] + "<br />");
break outloop;
default:
document .write ("沒有找到”);
■小結
break語句和label語句配合使用僅限于嵌套的循環(huán)結構,或者嵌套的switch結構,且需要退出非當前層結構時。break與標簽名之間不能包含換行符,否則JavaScript會解析為兩個句子。
break語句的主要功能是提前結束循環(huán)或多重分支,主要用在無法預控的環(huán)境下,避免死循環(huán)或者空循環(huán)。
點擊加載更多評論>>