Какой смысл создавать переменную через var а не обьявлением свойства глобального обьекта?
Ваще в топку переменные!
Например выведем в консоль 40 элемент фибоначи:[function(){
  this.shift();
  this.push(1, 1);
  for(;this.length <= this[0]; this.push(this[this.length - 1] + this[this.length - 2]));
  console.log(this[this.length - 1]);
}, 40][0]();
в других обастях видимости он не обязателен
"других областях" - это каких? Есть только глобальная область видимости и все остальные. Причем в вашем приложении должна быть максимум одна переменная доступная из глобальной области видимости.