繁体   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