En javascript no existen el ámbito de las variables, existen "closures" que es un concepto muy parecido pero mucho más complicado (y que permite a la vez códigos increíblemente potentes imposibles de emular en otros muchos lenguajes), idea que se usó por primera vez en el lenguaje SCHEME,de los años 70, y del que javascript coge muchas ideas.
https://developer.mozilla.org/es/doc...Guide/Closures
Las variables que crees sin ponerles un "var" delante, no son variables globales, son atributos que le estás creando al objeto "window", que es uno de los pocos objetos globales de la aplicación.
es lo mismo que
ó
Usa siempre "var" en la creación de variables, estén donde estén, así no se las estás metiendo al objeto window, y no perderás el control de tu código.
Por otro lado, para evitar problemas como el que posteas en tu último comentario, olvidate de usar los aributos HTML "style" y "on" + el evento que sea.
Los estilos, a la hoja de estilos SIEMPRE, y el javascript, a su archivo .js o etiqueta <script>, si no quieres cojnseguir un código horrible de seguir y modificar.
Para capturar eventos, usa sus objeto.onloquesea=function(e){ ... }
o objeto.addEventListener u objeto.attachEvent (Explorer viejos).