Kus*_*hal 0 javascript performance object
我的问题与此有关,但它仍然涉及一些关键的差异.
所以在这里,我有以下代码;
for(var i = 0; i < someObj.children[1].listItems.length; i++)
{
doSomething(someObj.children[1].listItems[i]);
console.log(someObj.children[1].listItems[i]);
}
Run Code Online (Sandbox Code Playgroud)
与
var i = 0,
itemLength = someObj.children[1].listItems.length,
item;
for(; i < itemLength; i++)
{
item = someObj.children[1].listItems[i];
doSomething(item);
console.log(item);
}
Run Code Online (Sandbox Code Playgroud)
现在,这是我在ExtJS中制作的企业Web应用程序中处理的代码的一个非常小的示例部分.现在在上面的代码中,与第一个示例相比,第二个示例显然更具可读性和清晰度. 但是当我以类似的方式减少对象查找次数时,是否有任何性能提升?
我问这个场景,在循环中会有更多的代码访问对象深处的成员,并且迭代本身将发生~1000次,浏览器从IE8变为最新的Chrome.
不会有明显的差异,但是对于性能和可读性,以及它看起来像实时nodeList这一事实,如果你要改变它,它应该反向迭代:
var elems = someObj.children[1].listItems;
for(var i = elems.length; i--;) {
doSomething(elems[i]);
console.log(elems[i]);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
53 次 |
| 最近记录: |