Capturing the contents of native prototypes
<p>Try and do the following:</p>

<pre><code>for (var key in String.prototype)
    console.log(key);
</code></pre>

<p>It gives you...nothing (well, unless you defined some foreign stuff yourself.) However, you still have <code>String.prototype.split</code> for example. I tried it on every other native object (<code>Number</code>, <code>Array</code>, <code>Object</code>) for the same result.</p>

<p>The following also "doesn't work":</p>

<pre><code>for (var key in Array)
    console.log(key);
</code></pre>

<p>While there's <code>Array.isArray</code> for example.</p>

<p><code>Object.keys(Array.prototype)</code> gives an empty array, and so does <code>Object.keys(Array)</code>. However, <code>Object.keys(jQuery)</code> for example provides a giant array, as expected.</p>

<p>So, why can't we iterate over natives provided by the browser, yet still access them?</p>
