What is the difference in the following JS syntax?
<p>Following are two ways to define BW.Timer.  Can someone tell me what the difference is?  I am not certain the first is even valid, but if it is valid, what is different about using the <code>myfunc=(function(){}())</code> syntax?</p>

<pre><code>BW.Timer = (function () {
    return {
        Add: function (o) {
            alert(o);
        },
        Remove: function (o) {
            alert(o);
        }
    };
} ());
</code></pre>

<p>And...</p>

<pre><code>BW.Timer = function () {
    return {
        Add: function (o) {
            alert(o);
        },
        Remove: function (o) {
            alert(o);
        }
    };
};
</code></pre>
