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