Why does `Array.length`, `Function.length`, `String.length`, etc return 1?
<p>While teaching my JavaScript class yesterday, my students and I came across some interesting functionality that I thought might be worth capturing in a question and the answer I've come to.</p>

<p>Typing <code>Array.length</code> in the JS console in chrome returns <code>1</code>.</p>

<p>Likewise, <code>Function.length</code> returns <code>1</code>. This is important because:</p>

<blockquote>
  <p>Every function in JavaScript is actually a Function object. <a href="https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Function" rel="nofollow">(MDN JS Ref: Function)</a></p>
</blockquote>

<p>Thus, <code>Object.length</code> and likely all other native objects will and should return <code>1</code> as the value of the <code>length</code> property. </p>

<p>So, finally <em>why</em> is this behavior occurring?</p>
