I'm curious about these jsperf results. They appear to demonstrate that a direct function call is substantially faster than the same function called with .call or .apply. (The difference between .call and .apply surprised me even more.) Could you please explain these results?
Update: Here is a jsperf that someone left that tests .apply without a second array instantiation.
.applyis slower because you're constructing an array as well.function.call()andobj.func()should be desugared to the same internal invocation of[[Call]]. So it should only be one call either way.iPad, the performances ofapplyandcallare the same.