title: Why use object.prototype.constructor in OOP javascript?
body: <p>I've recently started reading up on OOP javascript and one thing that authors seem to skip over is when an object A has been declared and suddenly I see "A.prototype.constructor =A; 
  For example, </p>
  
  <pre><code>var A = function(){}; // This is the constructor of "A"
  A.prototype.constructor = A;
  A.prototype.value = 1;
  A.prototype.test = function() { alert(this.value); }
  var a = new A(); // create an instance of A
  alert(a.value);  // =&gt; 1
  </code></pre>
  
  <p>So I run the command in firebug "var A = function(){};" 
  and then "A.Constructor" Which reveals it's a function. I understand this.<br>
  I run the code "A.prototype.constructor = A;" and I thought this changes the A constructor from Function to A. </p>
  
  <p>The constructor property of A has been changed right? Instead when I run "A.constructor" it gives me function () still. </p>
  
  <p>What's the point? </p>
  
  <p>I also see A.constructor.prototype.constructor.prototype.. what is going on? </p>