如何在javascript中返回到for循环的顶部

时间:2010-10-13 19:10:17

标签: javascript for-loop return

也许这是一个愚蠢的问题,但有没有办法回到循环的顶部?

示例:

for(var i = 0; i < 5; i++) {

    if(i == 3)
        return;

    alert(i);
}

您对其他语言的期望是警报会触发4次:

警报(0); 警报(1); 警报(2); 警报(4);

但相反,当我是3时,该函数立即退出。是什么给出了?

2 个答案:

答案 0 :(得分:17)

使用continue代替return

示例: http://jsfiddle.net/TYLgJ/

for(var i = 0; i < 5; i++) {

    if(i == 3)
        continue;

    alert(i);
}

如果您想在此时完全停止循环,则可以使用break代替returnreturn语句用于从正在执行的函数返回值。

编辑 @epascarello 提供的文档链接以下评论。

答案 1 :(得分:6)

对于它的价值,您也可以标记它们:

OUTER_LOOP: for (var o = 0; o < 3; o++) {
  INNER_LOOP: for (var i = 0; i < 3; i++) {
    if (o && i) {
      continue OUTER_LOOP;
    }
    console.info(o, ':', i);
  }
}

输出:

0 : 0
0 : 1
0 : 2
1 : 0
2 : 0