Javascript 中标记的 while 循环

Faw*_*es5 3 javascript statements

我的困惑源于这个标记语句的示例:

myLoop : while (expression) {
    continue myLoop;
}
Run Code Online (Sandbox Code Playgroud)

以及一般标记语句的语法:

identifier : statement
Run Code Online (Sandbox Code Playgroud)

示例中到底标记了什么?

不是整个代码块:

while (expression) 
    statement
Run Code Online (Sandbox Code Playgroud)

考虑单个声明吗?或者while(expression)它本身就是一个声明?或者while它本身就是一个声明?

为什么不是全部:

while (expression) {
    continue myLoop;
} 
Run Code Online (Sandbox Code Playgroud)

标记在下面myLoop,而不仅仅是while(expression)。或者这种情况真的发生了吗?

Ben*_*ton 5

我以前从未见过带标签的 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;'
    }
 }
}
Run Code Online (Sandbox Code Playgroud)