title: Function declarations should not be placed in blocks. Use a function expression or move the statement to the top of the outer function
body: <p>I have the following code:</p>
  
  <pre><code>if (typeof console === "object" &amp;&amp; typeof console.error === "function") {
      function e(msg) {"use strict"; console.info(msg);}
  }
  </code></pre>
  
  <p>For which jsLint gives the following error:</p>
  
  <blockquote>
    <p>Function statements should not be placed in blocks. Use a function expression or move the statement to the top of the outer function.</p>
  </blockquote>
  
  <p>Why is it giving this error and what does it mean?</p>