将长度设置为变量或计算循环统计中的长度

在做for循环之前用另一个变量的长度声明一个变量是更有效的,或者应该在循环内计算长度。

我确定答案取决于数组的长度是多少以便计算长度。 我总是看到

for ( var i = 1; i <= theVar.length; i++ ) {

}

但后来我被告知,这样做的资源密集程度较低

var theVarLen = theVar.length

for ( var i = 1; i <= theVarLen; i++ ) {

}

因为它避免了每次迭代重新计算长度。

或者它是否取决于具体的情况,所以不可能做出明确的判决?

或者,它真的不重要..?

谢谢一堆!


那么,让我们来了解一下。 我在这里创建了一个可以运行的测试:http://jsperf.com/loop-length-caching

一旦创建了数据库(可能会修改),浏览器似乎会存储数组的长度,所以将长度存储在变量中没有巨大的速度优势。 唯一真正的因素(在这种情况下)是访问对象的属性和访问变量之间的速度差异。


可以说,这是内部解除引用的一个较少的指针,但我从来没有见过它以真正的代码完成第二种方式。 我相信你会很难为你获得的任何表现辩护。

链接地址: http://www.djcxy.com/p/70005.html

上一篇: set length to variable or calculate length within loop statment

下一篇: In JavaScript, does the string/array .length property do any processing?