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/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 -- 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