title: How exactly does <script defer="defer"> work?
body: <p>I have a few <code>&lt;script&gt;</code> elements, and the code in some of them depend on code in other <code>&lt;script&gt;</code> elements. I saw the <code>defer</code> attribute can come in handy here as it allows code blocks to be postponed in execution.</p>
  
  <p>To test it I executed this on Chrome: <a href="http://jsfiddle.net/xXZMN/">http://jsfiddle.net/xXZMN/</a>.</p>
  
  <pre><code>&lt;script defer="defer"&gt;alert(2);&lt;/script&gt;
  &lt;script&gt;alert(1)&lt;/script&gt;
  &lt;script defer="defer"&gt;alert(3);&lt;/script&gt;
  </code></pre>
  
  <p>However, it alerts <code>2 - 1 - 3</code>. Why doesn't it alert <code>1 - 2 - 3</code>?</p>