Object.create from an object
<p>All, If I pass an object into the <code>Object.create</code> , that means creating a new object inherit from  it. the code below proves it.</p>

<pre><code>        function Shape() {
          this.x = 0;
          this.y = 0;
        }

        Shape.prototype.move = function(x, y) {
            this.x += x;
            this.y += y;
            console.info("Shape moved.");
        };

        Rectangle = Object.create(Shape);
        Rectangle.__proto__==Shape;//it is true.yes, I can understand
        Rectangle//It is Function {} I can not understand it.
        Rectangle.constructor==Function//it is true.I can not understand it.
</code></pre>

<p>The diagram represent the relationship is below. But What I can not understand is the highlight part of it .What exactly is the <code>Rectangle</code>? I mean what is the <code>Function{}</code>, Where it come from? and also the <code>Rectangle.constructor</code> property, I don't know if all the object have the <code>constructor</code> property, and what does the <code>constructor</code> property use for? thanks.</p>

<p>PS: All the value above is caculated and watched in the FireBug. </p>

<p><img src="http://i.stack.imgur.com/E9tsT.png" alt="enter image description here"></p>

<p><strong>Correct the diagram by the minitech's comments</strong></p>

<p><img src="http://i.stack.imgur.com/BO0Sz.png" alt="enter image description here"></p>
