In javascript, when would you want to use this:
(function(){ //Bunch of code... })();
over this:
//Bunch of code...
Namespacing. JavaScript's scopes are function-level.