Qual é o objetivo de uma função auto-executável em javascript?

Em javascript, quando você deseja usar isso: (function(){ //Bunch of code... })(); por cima disto: //Bunch of