Foros del Web » Programando para Internet » Javascript »

¿Existe la posibilidad de crear una variable "estaticas" igual que en C?

Estas en el tema de ¿Existe la posibilidad de crear una variable "estaticas" igual que en C? en el foro de Javascript en Foros del Web. Hola, mi pregunta es simple. En JavaScript, como en C, al declarar una variable en una funcion (subrutina), esta funciona solo localmente, y cuando volvemos ...
  #1 (permalink)  
Antiguo 04/01/2007, 16:13
 
Fecha de Ingreso: diciembre-2006
Mensajes: 5
Antigüedad: 17 años, 4 meses
Puntos: 0
¿Existe la posibilidad de crear una variable "estaticas" igual que en C?

Hola, mi pregunta es simple. En JavaScript, como en C, al declarar una variable en una funcion (subrutina), esta funciona solo localmente, y cuando volvemos a llamar a la funcion, el valor de esa variable ya no existe.
Esto se soluciona en C declarando las variables como "static", haciendo que el valor de la variable no se destruya al terminar la funciona, asi, cuando volvamos a llamar a esa funcion, el valor de la variable seguira siendo el mismo.
Y mi duda es simplemente si existe algo como esto en JavaScript, ya que apenas conosco el lenguaje, y aparentemente "static" no funciona.

Saludos
  #2 (permalink)  
Antiguo 04/01/2007, 16:24
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Re: ¿Existe la posibilidad de crear una variable "estaticas" igual que en C?

Hola:

Cualquier variable declarada fuera de una función es legible desde culquier función, y si se modifica en alguna ocasión, esa modificación perdura... tal vez sea mejor que nos digas que pretendes hacer para darte una mejor ayuda.

Por cierto, las variables declaradas con "var" podrían considerarse globales (no sé si es correcto usar ese término...)
<script>
var global = "¡Hola Mundo!";
</script>

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 04/01/2007, 21:30
 
Fecha de Ingreso: diciembre-2006
Mensajes: 5
Antigüedad: 17 años, 4 meses
Puntos: 0
Re: ¿Existe la posibilidad de crear una variable "estaticas" igual que en C?

Muchas gracias por la respuesta caricatos. La verdad estuve pensando y lo que necesito es mas bien declarar una variable dentro de una funcion y que esa variable sea global. La verdad veo dificil que esto sea posible, pero tal vez exista una solucion. Basicamente quiero algo asi:

Código:
function probando(informacion) {
   var miVariable = informacion;
}
probando("funciona");
document.write(miVariable); // deberia imprimir: funciona
Osea, le asigno un valor a una variable declarada en una funcion y quiero que ese valor persista y sea accesible desde cualquier parte del script, como si hubiese sido declarada de forma global.

Espero que sea posible, o que por lo menos exista algun truco para lograrlo, cualquier cosa que no se entienda, pregunten

Saludos
  #4 (permalink)  
Antiguo 05/01/2007, 01:39
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Re: ¿Existe la posibilidad de crear una variable "estaticas" igual que en C?

Hola:

En algún mensaje he comentado la solución de tu pregunta, debes indicar que tu variable depende del objeto window...

La forma que he comentado alguna vez es usando una cadena de texto entrecorchetada detrás del objeto window:

Código:
window["miVariable"] = informacion;
Se me ocurre que también tendría que funcionar:

Código:
window.miVariable = informacion;
Al menos en explorer lo probé y va bien.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #5 (permalink)  
Antiguo 08/08/2010, 03:32
Avatar de Gakex  
Fecha de Ingreso: enero-2009
Mensajes: 137
Antigüedad: 15 años, 3 meses
Puntos: 4
Respuesta: ¿Existe la posibilidad de crear una variable "estaticas" igual que en C?

Hola ya han pasado algo de tiempo pero solo para aclarar tu duda y la de otros te cuento que una variable en javascript se puede crear pormedio de la palabra reservada var o simplemente escribiendo directamente el nombre de la variable

Tambien que en java solo existen los ambitos local y gloval para descrivir la vida de una variable.

Una variable local, solo es valida dentro de una funcion apartir de que se declare pormedio de var, sin embargo si no declaras la variable con var y solo la mencionas directamente, esa variable se combierte en variable gloval y esto quiere decir que puede ser usada despues de que la funcion termine y seguir trabajando con el valor que adquirio en la funcion, pero ojo si una variable con el mismo nombre declarada directamente dentro de la funcion ya fue declarada antes fuera de la funcion esta cambiara su valor si es modificada en la funcion.

Una variable global, tiene validez durante todo el codigo apartir de que es declarada y puede ser utilizada en cualquier lugar incluso en un afuncion y concervar los valores ya sea si son asignados dentro de una funcion o no.
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 07:15.