I see examples where JavaScript code including jQuery and jslint use the notation below:
(function(){
// do something
})();
instead of:
// do something
I first thought this is just for local scoping, i.e. creating local variables for the code block without polluting global namespace. But I’ve seen instances without any local variables at all too.
What am I missing here?
It’s about scope for functions, too – everything declared within the code block is scoped to that anonymous function only. Things are normally made public by the framework