簡體   English   中英

用Java標記為while循環

[英]Labeled while loops in Javascript

我的困惑源於此示例標記語句:

myLoop : while (expression) {
    continue myLoop;
}

以及一般標記語句的語法:

identifier : statement

該示例中確切標記了什么?

不是整個代碼塊:

while (expression) 
    statement

被認為是一個陳述? 還是while(expression)本身是語句? 或者是while一個單獨的語句?

為什么不是整個:

while (expression) {
    continue myLoop;
} 

標記在myLoop下,而不僅僅是while(expression) 或什至正在發生?

被標記的不是代碼塊,而是特定的一行。 因此,無論標簽myLoop在哪里,編寫繼續myLoop都像在說“跳到那個位置並繼續執行”。

但實際上,在此示例中:

myLoop : while (expression) {
    continue myLoop;
}

標簽的使用是完全多余的。 您可以將其編寫如下,其效果是相同的:

while (expression) {
    continue;
}

那是因為默認情況下繼續 ,請轉到循環的下一個迭代的開始。

我從來沒有見過標記while循環之前,但根據本http://james.padolsey.com/javascript/looping-in-javascript/整個while循環正在被標記。

它的用途是打破特定的循環,例如在循環中方便使用(示例來自鏈接)

myOuterLoop : while (condition) {
 myInnerLoop : while (condition) {
    if (whatever) {
        break myOuterLoop;
    }
    if (whatever2) {
        break; // Same as 'break myInnerLoop;'
    }
 }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM