我想优化我的for循环(var阶段)中的第二行。我相信将它的部分移出循环会优化性能。为了提高性能,我可以在for循环之外移动什么?
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';
}发布于 2015-05-01 00:23:38
我认为经济放缓的主要原因是采用这种风格。
否则,您可以使用可能的阶段预先生成数组:
var phases = [];
for (var i = 0; i < 5; i++){
phases[i] = Math.sin((document.body.scrollTop / 1250) + i );
}
for (var i = 0; i < items.length; i++) {
var phase = phases[i%5];
//var phase = 0.31456656061611776 + (i % 5);
items[i].style.left = items[i].basicLeft + 100 * phase + 'px';
}https://codereview.stackexchange.com/questions/88513
复制相似问题