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)。或者这种情况真的发生了吗?
我以前从未见过带标签的 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)