Is it true constructor's prototype cannot overwrite public members?
<p>Example 1:</p>

<pre><code>function Cat(){
    this.color = function (){
        return "Green";
    };
}

Cat.prototype.color = function(){
    return "Blue";
}

var kitty = new Cat();
alert(kitty.color()); // Green
</code></pre>

<p>Example 2:</p>

<pre><code>function Cat(){
    var color = function (){
        return "Green";
    };
}

Cat.prototype.color = function(){
    return "Blue";
}

var kitty = new Cat();
alert(kitty.color()); // Blue
</code></pre>

<p>Example 2 returns <code>Blue</code>, is it because the constructor cannot overwrite public members or it cannot access private members?</p>
