Ver Mensaje Individual
  #12 (permalink)  
Antiguo 10/05/2014, 12:36
Avatar de marlanga
marlanga
 
Fecha de Ingreso: enero-2011
Ubicación: Murcia
Mensajes: 1.024
Antigüedad: 13 años, 4 meses
Puntos: 206
Respuesta: Problema con variables globales!

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.

Código Javascript:
Ver original
  1. valor1=4;
es lo mismo que
Código Javascript:
Ver original
  1. window.valor1=4;
ó
Código Javascript:
Ver original
  1. window["valor1"]=4;

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).