Стоян Стефанов говорит в шаблонах JavasScript, что: "вам нужна непосредственная функция, чтобы обернуть весь ваш код в его локальной области и не просачивать какие-либо переменные в глобальную область" стр. 70.
Вот его пример
(function() {
var days = ['Sun','Mon'];
// ...
// ...
alert(msg);
}());
Но, конечно, потому что дни определяются как var, это будет просто функциональная область? Единственным преимуществом непосредственной функции является то, что функция вызывается немедленно. Преимущество не имеет. Corrcet?