var foo = { bar : 'hello'};
var cats = happy ? "yes" : "no";
outer_loop: for(i=0; i<3; i++)
我正在浏览一个sharepoint 2010文件,并且我一直在使用这种语法
someFunction: ;
例如,有一个文件,其中在顶部附近声明了以下函数:
function ULSqvN() {
var o = new Object;
o.ULSTeamName = "SharePoint Portal Server";
o.ULSFileName = "SocialData.js";
return o;
}
然后在文件中我们找到以下
PageUrlNormalizer = function () {
ULSqvN: ; //<---------------- This guy here --------------------------
try {
this._url = _normalizedPageUrlForSocialItem
} catch (a) {
this._url = ""
}
};
这是做什么的?
带有完整档案的 jsFiddle。同样的ULSqvN: ;
在文件中出现了47次。
编辑:添加完整代码。
PS:共识似乎是冒号的共享点使用“不是实际的javascript,可能用作某些外部目的的标记”。浏览器将其视为残留标签,因此不会导致错误。感谢所有回复,我已将实际使用留在顶部,以便问题包含适当的答案。 question about same code
答案 0 :(得分:8)
javascript没有任何意义(因为在javascript中你会仅标记你可以continue or break的东西),它可能被用作某种评论或标记解析脚本。在最坏的情况下,这只是死代码而没有任何目的。
编辑:看起来像sharepoint将其用于某些诊断信息:What does this Javascript code do?
答案 1 :(得分:3)
这些是标签。通常它们一次用于打破几个嵌套循环。
function foo ()
{
dance:
for(var k = 0; k < 4; k++){
for(var m = 0; m < 4; m++){
if(m == 2){
break dance;
}
}
}
}
信用:this answer。
答案 2 :(得分:2)
它是空标签,然后是空语句。 (我看不出有什么好的理由 - 除非函数中的某些内容未包含在此处,否则需要标签突破该函数中的循环。)
答案 3 :(得分:1)
第三种用法是标记一个语句,以便与break
或continue
语句一起使用。请参阅spec.