为什么在JavaScript中,被调用的函数可以以名称+冒号作为前缀

Why can invoked functions be prefixed with a name + colon in JavaScript

本文关键字:前缀 JavaScript 函数 调用 为什么      更新时间:2024-06-24

我在一些非常旧的JS代码中发现了这个代码片段(简化为一个工作示例):

foo:console.log('I have a prefix')

这会像您所期望的那样工作并记录日志。这是怎么回事?我最初以为这是一个语法错误。(注意,我在中发现的原始形式是javascript:foo())。

这是一个可标签语句,不是很常见的特性。但有时您可以在嵌套循环中看到它们,例如,命名循环以便以后引用它来打断或继续。

当然,在您的console.log示例中,它是完全无用且令人困惑的。

参考:带标签的语句。