是否可以更快地直接访问javascript数组?

前端之家收集整理的这篇文章主要介绍了是否可以更快地直接访问javascript数组?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在读一篇文章Optimizing JavaScript for Execution Speed

还有一节说:

使用此代码

for (var i = 0; (p = document.getElementsByTagName("P")[i]); i++)

代替:

nl = document.getElementsByTagName("P");

for (var i = 0; i < nl.length; i++)
{
    p = nl[i];
}

出于性能原因.

根据文章,我总是使用“错误的”方式,但是,我错了还是文章错了?

解决方法

如果从C#这样的语言看它,你会期望第二个语句更有效,但C#不是解释器语言.

正如指南所述:您的浏览器已经过优化,可以从实时列表中检索正确的节点,并且比从您在变量中定义的“缓存”中检索它们要快得多.此外,您必须确定每次迭代的长度,这可能会导致一些性能损失.

解释器语言与编译语言的反应不同,它们以不同方式进行优化.

猜你在找的JavaScript相关文章