What is the difference between a function expression vs declaration in Javascript?
<p>What is the difference between the following lines of code:</p>

<pre><code>function foo() { return 5; }


var foo = function() { return 5; }


var foo = function foo() { return 5; }
</code></pre>

<p>What is a named function expression and how do browsers deal with these constructs differently?</p>

<p>What do the responses to a similar question (<a href="http://stackoverflow.com/questions/336859/javascript-var-functionname-function-vs-function-functionname">http://stackoverflow.com/questions/336859/javascript-var-functionname-function-vs-function-functionname</a>) not get exactly right?</p>
