我找到了一个javascript块,但不明白它的作用

San*_*ath 0 html javascript

我发现了一个javascript但不明白它的作用.这是一个对象还是其他任何功能?

main : {
    //variables declaration
    var ret = "";
    var text = "";
    var tmp = "";
    var CSVString = "";
    var counter = 1;
    var page = 1;
    var header = 'TITLE|JOB_ID|RECRUITER|DESCRIPTION2|TIME';
    //if function 

    if (page === 1 ) {
            break main;
        }
}
Run Code Online (Sandbox Code Playgroud)

请问,任何人都可以向我解释if函数中发生了什么?打破主力?

Cod*_*gue 11

编辑:编辑后,问题略有不同,因为您添加了标签break声明.在发布的代码中,它仍然是冗余的,但如果正确使用它可以用于打破嵌套循环,如链接的MDN示例中所示:

给定一个项目数组和一组测试,此示例确定是否所有项目都通过了所有测试var allPass = true; var i,j;

top:
for (i = 0; items.length; i++)
  for (j = 0; j < tests.length; i++)
    if (!tests[j].pass(items[i])){
      allPass = false;
      break top;
    }
Run Code Online (Sandbox Code Playgroud)

原答案:

虽然完全有效,但这只是一个javascript 标签声明,后跟一个块.main :什么也不会做,就像省略一样:

main : {
    //variables declaration
    var ret = "";
    var text = "";
    var tmp = "";
    var CSVString = "";
    var counter = 1;
    var page = 1;
    var header = 'TITLE|JOB_ID|RECRUITER|DESCRIPTION2|TIME';
}
alert(header);
Run Code Online (Sandbox Code Playgroud)

就像你写这个一样:

{
    //variables declaration
    var ret = "";
    var text = "";
    var tmp = "";
    var CSVString = "";
    var counter = 1;
    var page = 1;
    var header = 'TITLE|JOB_ID|RECRUITER|DESCRIPTION2|TIME';
}
alert(header);
Run Code Online (Sandbox Code Playgroud)

Label语句旨在在循环中使用,但由于Javascript没有goto语句,因此在代码的其他地方它是多余的.

  • @PraveenKumar这往往是愚蠢而简单的答案,你得到的选票而不是*好的*.我在问题中已经多次看过这个问题,我真的应该已经关闭了......如果我能找到合适的那个! (4认同)
  • @RGraham傻瓜为你而不是为受欢迎的用户:) (3认同)