title: Why function statement requires a name?
body: <p>Why I can write</p>
  
  <pre><code> var foo = function(){}();
  </code></pre>
  
  <p>But can not </p>
  
  <pre><code> function(){}();
  </code></pre>
  
  <p>Are there are any design reasons?</p>