title: calling function scope mystery
body: <p>If I have:</p>
  
  <pre><code>Object._extends = function(Derived, Base)
  {
     Derived.prototype = new Base();
     Derived.prototype.constructor = Derived;
     Derived.uber = Derived.prototype;
  }
  
  
  var BASE = function()
  {
      this._name = "BASE"
  }
  
  var DERIVED = function()
  {
      Object._extends(DERIVED, BASE)
      this._age = 3;
  }
  // Object._extends(DERIVED, BASE) if I write here all is ok!!!
  
  alert(new DERIVED()._name) // undefined!
  </code></pre>
  
  <p>when I write <code>Object._extends(DERIVED, BASE)</code> into <code>DERIVED</code> function then <code>_name</code> is undefined but if I write the same function out then it is not undefined but why?</p>