在執行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