在JavaScript中访问对象成员的有效方法

 手机用户2502886741 发布于 2023-02-09 19:05

我的问题与此有关,但它仍然涉及一些关键的差异.

所以在这里,我有以下代码;

for(var i = 0; i < someObj.children[1].listItems.length; i++)
{
    doSomething(someObj.children[1].listItems[i]);

    console.log(someObj.children[1].listItems[i]);
}

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);
}

现在,这是我在ExtJS中制作的企业Web应用程序中处理的代码的一个非常小的示例部分.现在在上面的代码中,与第一个示例相比,第二个示例显然更具可读性和清晰度. 但是当我以类似的方式减少对象查找次数时,是否有任何性能提升?

我问这个场景,在循环中会有更多的代码访问对象深处的成员,并且迭代本身将发生~1000次,浏览器从IE8变为最新的Chrome.

1 个回答
  • 不会有明显的差异,但是对于性能和可读性,以及它看起来像实时nodeList这一事实,如果你要改变它,它应该反向迭代:

    var elems = someObj.children[1].listItems;
    
    for(var i = elems.length; i--;) {
        doSomething(elems[i]);
        console.log(elems[i]);
    }
    

    2023-02-09 19:07 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有