在执行for-loop之前用另一个变量的长度声明变量或在循环内计算长度是否更有效?将变量设置为变量或计算循环中的长度
我确定答案取决于数组有多大,长度正在计算上。我只是总是看到
for (var i = 1; i <= theVar.length; i++) {
}
但后来我被告知,这是资源较少做
var theVarLen = theVar.length
for (var i = 1; i <= theVarLen; i++) {
}
,因为它避免了每次迭代的长度重新计算。
或者这是否取决于具体情况这么多,不可能做出绝对法令?
或者,它真的不重要..?
感谢一大堆!
测试它:http://jsperf.com。但长话短说,长度不会重新计算,它是一个固定的值,每当数组发生变化时都会更新。根据迭代的次数(' - >'数组的长度),您可以保存每次迭代的一次属性查找,这实际上可以有所作为。 – 2012-08-06 00:03:43
可能重复[正在读取数组的'length'属性真的很贵的JavaScript操作?](http://stackoverflow.com/questions/5752906/is-reading-the-length-property-of-an -array-really-that-expensive-an-operation) – 2012-08-06 00:07:26
作为一个便笺,我看到它也以这种方式做了很多:'for(var i = 0,len = a.length; i
2012-08-06 00:08:05