为什么.call和.apply比JavaScript中的直接函数调用慢?

时间:2011-11-18 15:04:10

标签: javascript performance

我对these jsperf results感到好奇。它们似乎证明直接函数调用比使用.call.apply调用的相同函数快得多。 (.call.apply之间的差异使我更加惊讶。)您能解释一下这些结果吗?

更新:Here is a jsperf有人离开了测试.apply而没有第二个数组实例化。

1 个答案:

答案 0 :(得分:7)

我猜原因可能取决于您运行代码的解释器,但似乎正常的函数调用更快,因为解释器可以使用内联缓存来访问属性。

您可以查看here了解详情。