title: Why is it impossible to change constructor function from prototype?
body: <p>I have such example.</p>
  
  <pre><code>function Rabbit() {
      var jumps = "yes";
  };
  var rabbit = new Rabbit();
  alert(rabbit.jumps);                    // undefined
  alert(Rabbit.prototype.constructor);    // outputs exactly the code of the function Rabbit();
  </code></pre>
  
  <p>I want to change the code in <code>Rabbit()</code> so that the <code>var jumps</code> becomes public. I do it this way:</p>
  
  <pre><code>Rabbit.prototype.constructor = function Rabbit() {
      this.jumps = "no";
  };
  alert(Rabbit.prototype.constructor);    // again outputs the code of function Rabbit() and with new this.jumps = "no";
  var rabbit2 = new Rabbit();             // create new object with new constructor
  alert(rabbit2.jumps);                   // but still outputs undefined
  </code></pre>
  
  <p>Why is it not possible to change the code in constructor function this way?</p>