title: Javascript object strange behavior
body: <p>I executed this javascript code:</p>
  
  <pre><code>var motorbike = {
      "Wheel" : move(),
      "Motor" : start()
  }; // CREATE MOTORBIKE OBJECT
  
  document.write(motorbike.Wheel); // MOVE MY MOTORBIKE
  document.write(motorbike.Motor); // START MY MOTORBIKE
  
  function move(){
      return "-I'm moving&lt;br/&gt;";
  }
  
  function start(){
      document.write("-Starting&lt;br/&gt;");
     return "-Broom broom...";
  }
  </code></pre>
  
  <p>In the screen should appear:</p>
  
  <pre><code>-I'm moving
  -Starting
  -Broom broom...
  </code></pre>
  
  <p>But when I execute it...</p>
  
  <pre><code>-Starting
  -I'm moving
  -Broom broom...
  </code></pre>
  
  <p>Javascript prints first the "direct" document.write (that which has a string directly written) and then prints the ones which work with a return. Why javascript does that?</p>