这个语法是什么意思,像' functionName:{} '

What does this syntax mean which likes `functionName: {}`?

本文关键字:functionName 语法 是什么 意思      更新时间:2023-09-26

我在公司的项目中发现了一段如下代码:

while(condition){        
        code...
        reloop: {
            if(somethingIsTrue) {
                break reloop;
            }
        }
        code...
}

我不明白reloop做什么,有人能给一个简单的解释吗?

reloop:label。它们很少使用,并且服务于一个非常特殊的目的:它们让您从内部循环中获得breakcontinue 外部循环。

MDN上关于标签的文章对此有更好的解释。

注意标签是很少使用的,大多数时候需要标签暗示你的代码不清楚,应该重构。我从来没有,甚至一次也没有在javascript中使用过标签。

避免使用它们,除非它们确实是一段难以编写的代码的唯一干净的解决方案。相反,您更喜欢将代码拆分为可以从。
中获取return的函数。

reloop是块的标签。break命令从标记的块中跳出来。

参见https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/break