> Here's a pattern that occurs frequently that I'm really
> curious about:
>
> new function() {
> // do stuff
> }
>
> Is the purpose of this just to provide local scope to the
> variables used?
Yes, that is the one and only reason for it.
> Is there an equivalant syntax that may be
> more common?
Yes, as others mentioned, ( function() { /*stuff*/ } )(); will do the trick
too, and is slightly more efficient.
> I intuitively wouldn't even think the code inside the
> function would get executed unless the whole thing
> was proceeded by "()", but obviously I'd be wrong.
See if this helps:
function Stuff() {
// do stuff
}
var stuff1 = new Stuff(); // call the Stuff constructor
var stuff2 = new Stuff; // parens are optional
> What's really surprising is that I couldn't find any
> information about this technique in a google search.
It's hard to search for. But it falls out from normal JavaScript syntax and
semantics.
-Mike
_______________________________________________
jQuery mailing list
[email protected]
http://jquery.com/discuss/