title: What do empty parentheses () after a function declaration do in javascript?
body: <p>I'm trying to read the Prototype source. I've come to this part.(Unfortunately, this snippet is in the beginnning).</p>
  
  <p>What does this () mean?</p>
  
  <pre><code>  Browser: (function(){
      var ua = navigator.userAgent;
      var isOpera = Object.prototype.toString.call(window.opera) == '[object Opera]';
      return {
        IE:             !!window.attachEvent &amp;&amp; !isOpera,
        Opera:          isOpera,
        WebKit:         ua.indexOf('AppleWebKit/') &gt; -1,
        Gecko:          ua.indexOf('Gecko') &gt; -1 &amp;&amp; ua.indexOf('KHTML') === -1,
        MobileSafari:   /Apple.*Mobile.*Safari/.test(ua)
      }
    })(),
  </code></pre>
  
  <p>I am referring to the last line before the comma?</p>