object issues of javascript
<p>I constructed a function defined as</p>

<pre><code>var Func1 = function() 
{
    return {
             alert: function() { alert( "Lady Gaga" ); }
           };
};
</code></pre>

<p>And I assigned <code>Func1()</code> to a variable, like this:</p>

<pre><code>var func1 = Func1();
</code></pre>

<p>I found something make no sense to me that <code>Func1()</code> created an object for func1 although I didn't put the <code>new</code> in front of it. </p>

<p>Isn't that objects could only be created by <code>new</code>? </p>

<p>What happened when the expression above is being executed?</p>
