title: self-invoking anonymous function parsing issue
body: <p>I'm having some trouble understanding how both of these two lines are inter-changeable. </p>
  
  <pre><code>( function() { return console.log("anon inner 1"); } ) ();
  //                                                     ^^ invoke
  
  ( function() { return console.log("anon inner 2"); } () );
  //                                                   ^^ invoke
  </code></pre>
  
  <p>In the first line, we have an anonymous inner function that is wrapped in parenthesis, and then immediately invoked.  The second line, we have an anonymous inner function that is invoked and then wrapped in parentheses.</p>
  
  <p>I guess my question is, what does the wrapping in parenthesis do?  Does it objectify stuff, that is, turn things into object?</p>