Understanding the use of slice in function arguments
<p>I was reading this piece of code from the mozilla developer network: </p>

<pre><code>function list() {
  return Array.prototype.slice.call(arguments);
}

var list1 = list(1, 2, 3); // [1, 2, 3]
</code></pre>

<p>The line inside the function confused me, why can i use <code>call</code> without specifying an object to serve as <code>this</code>?</p>

<p>If the <code>arguments</code> is the <code>this</code> is this case, then i'm not passing any parameter to the <code>slice</code> function, right? </p>

<p>If i put some random element as <code>this</code> i get an empty array, like this:</p>

<pre><code>return Array.prototype.slice.call([], arguments);
</code></pre>

<p>I know i misunderstood something, but what? :)</p>

<p>Thanks in advance!</p>
