【发布时间】:2012-08-18 19:53:59
【问题描述】:
执行一段代码有两种选择。该代码基本上重置了三个数组中的所有值。其中两个是 int 数组,一个是 boolean。
选择 1
for (i = 0; i < array1.length; i++)
array1[i] = 0;
for (i = 0; i < array2.length; i++)
array2[i] = 0;
for (i = 0; i < array3.length; i++)
array3[i] = false;
选择 2
int limit = <assign the greatest of the array lengths>
for (i = 0; i < limit; i++)
{
if (i < array1.length)
array1[i] = 0;
if (i < array2.length)
array2[i] = 0;
if (i < array3.length)
array3[i] = false;
}
哪些会更快?鉴于数组可以有不同的长度并且彼此之间没有关系。
here 有一个很好的讨论。首先列出的答案很好地解释了数组在 javascript 中的实际含义。有兴趣的可以去看看!
【问题讨论】:
-
我强烈怀疑差异会很大。不要把时间浪费在这样的 mikro 优化上。
-
你应该测量它:)
-
@Niko:我正在努力学习如何最好地编程。因此,从一个像这样的小查询开始。迪特里希已经给了我很好的信息!
-
+1 用于测试我对抗万恶之源
-
这里对数组初始化性能进行了彻底的讨论:stackoverflow.com/questions/1295584/…
标签: javascript optimization loops if-statement