title: setTimeout(function(){console.log(3)}, 0); it has value 0
body: <p>When I execute the below code in the console I am getting as:</p>
  <p><code>1,4, undefined 3,2.</code></p>
  <p>I would like to know why its not executing as <code>1,3,4</code> and <code>2</code>
  since in <code>setTimeout(function(){console.log(3)}, 0);</code> the milliseconds param is <code>0</code>.</p>
  <pre><code>(function() {
     console.log(1); 
     setTimeout(function(){console.log(2)}, 1000); 
     setTimeout(function(){console.log(3)}, 0); 
     console.log(4);
  })();
  </code></pre>