来自函数的参数是否在Js中改变内存使用或速度使用

时间:2014-03-21 15:09:55

标签: javascript optimization memory-management

我知道这是不成熟的优化,但我很想知道它解决了这个问题需要多长时间 (请注意,我知道它只有很大的不同,但在大型游戏循环中可以重复使用哪些变量呢?)

function testone(parameter1, parameter2, parameter3)
{
     return parameter1 * parameter2 * parameter3;
}
console.log("" + testone(50,50,50));

VS

var
parameter1 = 50,
parameter2 = 50,
parameter3 = 50,
result = 0;

function testtwo()
{
   result = parameter1 * parameter2 * parameter3;
}

testtwo();
console.log("" + result);

我只是不知道如何基准,所以如果我知道我会自己做,但如果这是一个非常糟糕的问题,请不要 - 请告诉我,只是告诉我,我将删除问题

1 个答案:

答案 0 :(得分:0)

您的浏览器中的JIT编译器会优化函数。后一种方法需要更加迂回的方式来访问变量。

http://jsperf.com/params-vs-lexical-scope

上面的JSPerf测试表明确实如此。即使第二个例子在性能方面更好,但维护起来会更加困难,并且不值得从中获得任何微小的好处。