title: Why Do Two Object.create() Calls Result in a Merge?
body: <p>I don't understand how to work with Object.create() in JavaScript.  Why, in this code, do two objects a and b merge whereas they were declared in two different contexts?</p>
  
  <pre><code>var l = {
     a: null,
     b: null
  }
  
  function a() {
      var a = Object.create(l);
      a.a = "a";
      console.log('a : ', a.a, a.b);
  }
  
  function b() {
      var b = Object.create(l);
      b.b = "b";
      console.log('b : ' + b.a, b.b);
  }
  
  function main() {
     a();
     b();
  }
  
  main();
  </code></pre>
  
  <p>And this is the output :</p>
  
  <pre><code>a :  a null
  b :  a b
  </code></pre>
  
  <p>How I can isolate them ?</p>