首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Javascript:如何优化这行代码以获得性能?

Javascript:如何优化这行代码以获得性能?
EN

Stack Overflow用户
提问于 2015-05-01 08:07:48
回答 1查看 439关注 0票数 3

我想优化for循环中的第二行(var阶段)。我相信把它的一部分移到循环之外会优化性能。可以将哪些内容移到for循环之外以提高性能?

代码语言:javascript
复制
for (var i = 0; i < items.length; i++) {
var phase = Math.sin((document.body.scrollTop / 1250) + (i % 5));
//var phase = 0.31456656061611776 + (i % 5);
items[i].style.left = items[i].basicLeft + 100 * phase + 'px';
}
EN

回答 1

Stack Overflow用户

发布于 2015-05-01 08:28:23

可能会稍微快一点:

代码语言:javascript
复制
var l = items.length,
    s = (document.body.scrollTop / 1250),
    phase;

for (var i = 0; i < l; ++i) {
  phase = Math.sin(s + (i % 5));
  items[i].style.left = items[i].basicLeft + 100 * phase + 'px';
}

但是,除非您有数百万个项目,否则您很可能不会注意到其中的差异。

更新:经过几次基准测试后,似乎快了大约7%,但仅仅开始花费超过100万个元素的时间。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29979787

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档