位置:首頁 > 軟件操作教程 > 編程開發(fā) > JavaScript > 問題詳情

JavaScript 流程控制 label 和 break 語句

提問人:劉團圓發(fā)布時間:2020-11-24

■知識點

在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)。

繼續(xù)查找其他問題的答案?

相關視頻回答
回復(0)
返回頂部