Weird prototype pointing
<p>I am reading this: <a href="http://killdream.github.com/blog/2011/10/understanding-javascript-oop/index.html" rel="nofollow">http://killdream.github.com/blog/2011/10/understanding-javascript-oop/index.html</a></p>

<p>and i've encountered some code that i can't understand:</p>

<pre><code>function Person(first_name, last_name) {
    this.first_name = first_name
    this.last_name  = last_name
}

// Defines the `name' getter/setter
Object.defineProperty(Person.prototype, 'name', { get: get_full_name
                                                , set: set_full_name
                                                , configurable: true
                                                , enumerable:   true })
</code></pre>

<p>Why is he using <code>Object.defineProperty</code> on <code>Person.prototype</code> and not simply on <code>Person</code>? 
Why not simply include <code>name</code> in the definition or make <code>Person.name = bla...</code>?</p>

<p>(EDIT: SOLVED)
also, why am i seeing this endless loop of prototype reference??</p>

<p><img src="http://i.stack.imgur.com/BWXfl.jpg" alt="why am i seeing this endless loop of prototype reference?"></p>
