Foros del Web » Programando para Internet » Javascript »

crear una variable global

Estas en el tema de crear una variable global en el foro de Javascript en Foros del Web. Saludos a todos; Tengo un proyecto hecho en Dreamweaver con diferentes archivos html y qusiera crear una varible global javascript que pueda usar en todos ...
  #1 (permalink)  
Antiguo 23/05/2011, 08:21
Avatar de veriyo  
Fecha de Ingreso: junio-2010
Mensajes: 80
Antigüedad: 13 años, 9 meses
Puntos: 0
crear una variable global

Saludos a todos;

Tengo un proyecto hecho en Dreamweaver con diferentes archivos html y qusiera crear una varible global javascript que pueda usar en todos los archivos y pueda trabajar con ella desde cualquier archivo, ya que trabajo mucho con iframes...

alguna idea??
  #2 (permalink)  
Antiguo 23/05/2011, 08:36
Avatar de Aijoona
Colaborador
 
Fecha de Ingreso: mayo-2011
Ubicación: Buenos Aires
Mensajes: 779
Antigüedad: 12 años, 11 meses
Puntos: 343
Respuesta: crear una variable global

Forma mala (notar que se omite el var):

Código Javascript:
Ver original
  1. // Creamos una global implicita
  2. foo = 'bar';

Forma correcta

Código Javascript:
Ver original
  1. // Le agregamos una property al objeto global
  2. window.foo = 'bar';
__________________
blog | @aijoona
  #3 (permalink)  
Antiguo 23/05/2011, 10:50
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 13 años, 10 meses
Puntos: 310
Respuesta: crear una variable global

Cita:
Iniciado por Aijoona Ver Mensaje
Forma mala (notar que se omite el var):

Código Javascript:
Ver original
  1. // Creamos una global implicita
  2. foo = 'bar';

Forma correcta

Código Javascript:
Ver original
  1. // Le agregamos una property al objeto global
  2. window.foo = 'bar';
¿Qué diferencia hay entre una y otra? Quiero decir, ¿en qué caso puede ser malo usar la primera en vez de la 2ª?
Saludos (:
__________________
" Getting older’s not been on my plans
but it’s never late, it’s never late enough for me to stay. "
Cigarettes - Russian Red
  #4 (permalink)  
Antiguo 23/05/2011, 11:20
Avatar de Aijoona
Colaborador
 
Fecha de Ingreso: mayo-2011
Ubicación: Buenos Aires
Mensajes: 779
Antigüedad: 12 años, 11 meses
Puntos: 343
Respuesta: crear una variable global

En principio es una cuestión de buenas prácticas. En el aspecto técnico es bastante profundo el tema, si queres leer en profundidad te recomiendo el siguiente artículo:

http://dmitrysoshnikov.com/ecmascript/chapter-2-variable-object/#about-variables

Además, en strict mode, la declaración de variables implícitas genera un ReferenceError.

https://developer.mozilla.org/en/JavaScript/Strict_mode
__________________
blog | @aijoona
  #5 (permalink)  
Antiguo 23/05/2011, 12:05
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 13 años, 10 meses
Puntos: 310
Respuesta: crear una variable global

Ok, gracias por la info, voy a digerirla
Saludos (:
__________________
" Getting older’s not been on my plans
but it’s never late, it’s never late enough for me to stay. "
Cigarettes - Russian Red
  #6 (permalink)  
Antiguo 23/05/2011, 16:46
Avatar de Aijoona
Colaborador
 
Fecha de Ingreso: mayo-2011
Ubicación: Buenos Aires
Mensajes: 779
Antigüedad: 12 años, 11 meses
Puntos: 343
Respuesta: crear una variable global

Bueno, ya que estoy bumpeo con un excelente post de @kangax al respecto:

http://perfectionkills.com/unnecessarily-comprehensive-look-into-a-rather-insignificant-issue-of-global-objects-creation/

Cita:
Undeclared assignments are historically considered a bad practice. They lead to confusion and increase the risk of global collisions. There are also certain browser bugs, such as that in IE (MSHTML DOM), where undeclared assignment results in an error if element with same id/name exists in the document. There’s a big chance for beginner to forget var and end up creating an unwanted global property. Or simply consider var’less version to be similar to that with the var. Or not even know about having to use var — after all, plain assignment seems to work just fine.
__________________
blog | @aijoona
  #7 (permalink)  
Antiguo 24/05/2011, 03:06
Avatar de veriyo  
Fecha de Ingreso: junio-2010
Mensajes: 80
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: crear una variable global

muuuuuchas gracias por la informacion Aijoona, ahora tendre que digerirla como dice Cronos, una ultima cosilla, ya se que es mucho pedir pero sabes de alguna pagina que este en español??

gracias de nuevo
  #8 (permalink)  
Antiguo 24/05/2011, 06:07
Avatar de Aijoona
Colaborador
 
Fecha de Ingreso: mayo-2011
Ubicación: Buenos Aires
Mensajes: 779
Antigüedad: 12 años, 11 meses
Puntos: 343
Respuesta: crear una variable global

En la documentación de Mozilla (MDN) vas a encontrar bastante información en español. Después podes buscar blogs técnicos en español, de los cuales no muchos son recomendables.
__________________
blog | @aijoona

Etiquetas: global, variables
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:28.