some claim the ! has better performance over ()
http://jsperf.com/bang-function

from 
http://stackoverflow.com/questions/5827290/javascript-function-leading-bang-syntax

jimmy


On Sep 28, 3:56 pm, "Cheney, Austin" <austin.che...@travelocity.com>
wrote:
> One important note is that in the code sample from Lasse the variable 
> "result" will never see that it is being assigned a function.  It will take 
> the type and value that the function returns, because the function executes 
> before the assignment completes.
>
> Thanks,
> Austin Cheney, CISSP
>
> From: jsmentors@googlegroups.com [mailto:jsmentors@googlegroups.com] On 
> Behalf Of Lasse Reichstein
> Sent: Wednesday, September 28, 2011 3:19 PM
> To: jsmentors@googlegroups.com
> Subject: Re: [JSMentors] self executing function
>
> On Tue, Sep 27, 2011 at 9:31 PM, Xavier MONTILLET 
> <xavierm02....@gmail.com<mailto:xavierm02....@gmail.com>> wrote:
> (function(){
>    //code
>
> })();
>
> is the module pattern and is widely used.
> If you assign the result to a variable, there is no problem:
>
> var result = (function(){
>    //code
>
> })();
>
> In that case, you don't even need the wrapping parentheses:
>  var result = function(){ ... }();
> works too. People add them anyway, because it makes it easier to recognize 
> the construct as an immediately called function literal.
>
> About the !, it must be kind of the same idea but I don't know exactly
> the difference...
>
> It's the same idea: The parentheses in
>  (function(){...})()
> are needed because a statement can't start with the keyword "function" (then 
> it has to be a function declaration, which is not what we want here).
> Using '!' instead:
>   !function(){ ... }()
> is just one character shorter (although I'd argue it's less readable, but 
> that's probably just habit).
> /L
> --
> To view archived discussions from the original JSMentors Mailman list: 
> http://www.mail-archive.com/jsment...@jsmentors.com/
>
> To search via a non-Google archive, visit 
> here:http://www.mail-archive.com/jsmentors@googlegroups.com/
>
> To unsubscribe from this group, send email to
> jsmentors+unsubscr...@googlegroups.com

-- 
To view archived discussions from the original JSMentors Mailman list: 
http://www.mail-archive.com/jsmentors@jsmentors.com/

To search via a non-Google archive, visit here: 
http://www.mail-archive.com/jsmentors@googlegroups.com/

To unsubscribe from this group, send email to
jsmentors+unsubscr...@googlegroups.com

Reply via email to