如何在javascript中返回到for循环的顶部
Posted
技术标签:
【中文标题】如何在javascript中返回到for循环的顶部【英文标题】:how to return to top of for loop in javascript 【发布时间】:2011-04-25 00:53:21 【问题描述】:也许这是一个愚蠢的问题,但有没有办法返回到循环的顶部?
例子:
for(var i = 0; i < 5; i++)
if(i == 3)
return;
alert(i);
您对其他语言的期望是警报会触发 4 次,如下所示:
警报(0); 警报(1); 警报(2); 警报(4);
但是,当 i 为 3 时,该函数立即退出。什么给出了?
【问题讨论】:
你能举个“其他语言”的例子吗? 您认为哪些语言在循环中间返回会使循环继续?在我知道的任何语言中都不是这样。 C# 不会继续循环 - 一旦您执行 'return' 语句,函数会立即退出,就像在 javascript 中一样。 C# 还为您尝试完成的执行流程使用“继续”语句。 【参考方案1】:使用continue
而不是return
。
示例: http://jsfiddle.net/TYLgJ/
for(var i = 0; i < 5; i++)
if(i == 3)
continue;
alert(i);
如果您想在此时完全停止循环,您可以使用break
而不是return
。 return
语句用于从正在执行的函数中返回一个值。
编辑: @epascarello 以下 cmets 提供的文档链接。
continue
的文档:https://developer.mozilla.org/en/JavaScript/Reference/Statements/continue
return
的文档:https://developer.mozilla.org/en/JavaScript/Reference/Statements/return
【讨论】:
继续:developer.mozilla.org/en/JavaScript/Reference/Statements/… 返回:developer.mozilla.org/en/JavaScript/Reference/Statements/return @epascarello - 感谢您添加参考资料。 :o) 我猜我的也被否决了。反对者应该给出一个理由。【参考方案2】:对于它的价值,你也可以给它们贴上标签:
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
【讨论】:
以上是关于如何在javascript中返回到for循环的顶部的主要内容,如果未能解决你的问题,请参考以下文章
JavaScript-Runoob:JavaScript for 循环
如何打破递归函数内的 for 循环并在 Javascript 中返回?