What's the purpose of using Function.call.apply in JavaScript?
<p>I was browsing through the <a href="http://javascriptgarden.info/" rel="nofollow">JavaScript Garden</a> when I stumbled upon the Function.call.apply hack which is used to create "fast, unbound wrappers". It says:</p>

<blockquote>
  <p>Another trick is to use both call and apply together to create fast, unbound wrappers.</p>

<pre><code>function Foo() {}

Foo.prototype.method = function(a, b, c) {
    console.log(this, a, b, c);
};

// Create an unbound version of "method" 
// It takes the parameters: this, arg1, arg2...argN
Foo.method = function() {

    // Result: Foo.prototype.method.call(this, arg1, arg2... argN)
    Function.call.apply(Foo.prototype.method, arguments);
};
</code></pre>
</blockquote>

<p>What I don't understand is why bother using Function.call.apply when Function.apply would suffice. After all, both of them are semantically equivalent.</p>
