我在我公司的项目中找到了一段代码,如下所示:
while(condition){
code...
reloop: {
if(somethingIsTrue) {
break reloop;
}
}
code...
}
我不明白reloop
做了什么,有人可以给出一个简单的解释吗?
答案 0 :(得分:3)
reloop:
是label
。它们很少使用,并且用于非常特定的目的:它们允许您从内部循环中break
或continue
外部循环。
关于MDN的文章about labels更好地解释了这一点。
请注意,标签很少使用,并且大多数情况下需要标签提示您的代码不清楚,并且应该重新构建。我从来没有,甚至没有一次在javascript
中使用过标签。
避免使用它们,除非它们是真正唯一能够证明难以编写的代码的干净解决方案。相反,我们首选将代码拆分为return
来自的函数。
答案 1 :(得分:2)
reloop
是块的标签。 break
命令突破了标记的块。
参见例如https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/break