JavaScript Internals 101: function and Function
<pre><code>&gt;&gt;&gt; function () {}
SyntaxError

&gt;&gt;&gt; f = function() {}
f = function() {}

&gt;&gt;&gt; new function() {}
&gt;&gt;&gt; Object

&gt;&gt;&gt; new Function()
function anonymous() {}

&gt;&gt;&gt; Function()
function anonymous() {}


&gt;&gt;&gt; f = (function() { a = 10; return function() {console.log(a);} })();
&gt;&gt;&gt; f()
10
undefined

&gt;&gt;&gt; f = (function() { a = 10; return new Function('console.log(a)'); })();
&gt;&gt;&gt; f()
undefined
</code></pre>

<p>Thus, I have two questions:</p>

<ol>
<li><p>Why is the <code>Function</code> constructor returning a new function even without the <code>new</code> operator?</p></li>
<li><p>Are functions created with the <code>Function</code> constructors NOT closures?</p></li>
</ol>
