也许这是一个愚蠢的问题,但有没有办法回到循环的顶部?
示例:
for(var i = 0; i < 5; i++) {
if(i == 3)
return;
alert(i);
}
您对其他语言的期望是警报会触发4次:
警报(0); 警报(1); 警报(2); 警报(4);
但相反,当我是3时,该函数立即退出。是什么给出了?
答案 0 :(得分:17)
使用continue
代替return
。
示例: http://jsfiddle.net/TYLgJ/
for(var i = 0; i < 5; i++) {
if(i == 3)
continue;
alert(i);
}
如果您想在此时完全停止循环,则可以使用break
代替return
。 return
语句用于从正在执行的函数返回值。
编辑 @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