如何优化JS代码?

时间:2015-07-01 23:45:19

标签: javascript optimization profiling google-chrome-devtools

Chrome浏览器分析说:“未优化:在参数对象中赋值给参数”。我该怎么做才能优化这段代码?

this.buffer.forEach(function(tilepos, ypos)
{
  tilepos.forEach(function(tileinfo, xpos)
  {
    _self.tiles.putTile('ground', xpos, ypos, _self.ground);
  });
});

2 个答案:

答案 0 :(得分:0)

你可能不喜欢你在街区内tilepos采取行动。

如果您希望消除错误,我建议您按照以下方式执行此操作,但也会获得一些性能提升:

for(var i = 0; i < this.buffer.length; i++)
{
    for(var j = 0; j < this.buffer[i].length; j++)
    {
        _self.tiles.putTile('ground', i, j, _self.ground);
    }
}

答案 1 :(得分:0)

您最有可能通过重新分配函数参数或参数元素来覆盖参数。

function f(a) {
    a = 100; // reassigns arguments[0]
};

或者

function f(a) {
    arguments[0] = 100; // same thing
};

您的代码对我来说很好,所以我认为问题出在您的putTile方法中。如果需要重新分配函数参数,请创建它的本地副本:

function f(a) {
    var localA = a;
    localA = 100;
}

如果您提供putTile方法,那么我可以查看并更新我的答案。