什么是更快和最好的 如果和返回或同时.
What is faster and best for with if and return or while?
我有一个关于 for 和 while 循环的问题,因为我们必须遍历一个值,直到满足条件。我想知道哪个在低水平下更有效,为什么?
也就是说,这两个代码给出相同的结果:
为:
for (int i = 0; i<10 ; i++)
{
if (i==4)
{
return;
}
}
而:
int i=0;
while (i<10 and i!=4)
{
i++;
}
这是一个可能循环的小例子,我们可以查看数千个记录。
什么代码更有效?我一直说在这种情况下我必须使用一段时间,但我想知道低水平是否仍然更好或更好。
谢谢。
答案是:没关系。
你不会看到任何性能的差异,除非你真的努力制作代码来看到差异,真正重要的是代码的可读性(这是你将来节省时间和金钱的地方),所以使用一个更容易理解。
在您的情况下,我会建议While
方法...
我还建议您阅读Eric Lippert的这篇文章:有多糟糕才足够好?,以防万一你不相信可读性与愚蠢的优化:)
它们的编译方式应该非常相似。在低级别,您正在考虑在循环中执行命令,然后您将有两个调用来比较一个值,如果条件要求退出循环,则跳转到下一个代码块。
如上所述,虽然应该导致更好的可读性,因此是更好的选择。
for
和 while
都是一样的。
唯一的区别是放置条件的位置。在内部,while 循环在低级别中使用"for"语法。
在你的方案中。虽然是最好的选择**if you don't know the upper limit
**
您可以使用
While(i!=4)
{
i++
}
如果您知道上限,请使用 for 循环,否则while
是最好的朋友。
相关文章:
- 如果返回的数据是javascript,$.ajax会自动执行脚本吗
- 如果在构造函数中有“返回”,则在 JavaScript 中的新运算符中做了什么
- 如果函数返回True,则显示Javascript按钮
- 如果在过去两个小时内没有记录,返回0,javascript逻辑
- 我如何才能继续'如果'语句来比较作为参数的多个函数返回值
- 试图清理一个电话号码,以便如果它像816-345-6757一样被输入,它会像8163456757一样返回它
- 如果总是执行finally,为什么try会返回未更改的值
- 如果我返回表,检查 Ajax 调用是否为 200 OK的最佳方法是什么
- 如果URL中有任何字符串变体匹配,则返回true
- 如果URL's链接返回错误
- 承诺,如果第一个失败,则返回第二个承诺结果
- JS/Jquery - 如果输入具有数组的任何名称,则返回关联的值
- 如果 Array.prototype.map() 没有返回,它是否被正确使用
- 为什么 1.2 == true 返回 false 如果布尔值 (1.2) 实际上是真的
- 如果循环中至少有一个元素返回 false,如何将变量设置为 false
- 基本否则如果并返回JavaScript
- 打开并关闭或返回(如果已经打开导航)
- Javascript RegEx返回如果字符串包含不在RegEx中的字符
- 美元.inArray函数没有返回"-1"如果项目不存在
- jQuery inArray()返回-1如果数组包含单个元素