Foros del Web » Programando para Internet » Javascript »

como consequir el valor NO la referencia de una variable

Estas en el tema de como consequir el valor NO la referencia de una variable en el foro de Javascript en Foros del Web. Bueno el problema que tengo es un poco complicado intentare explicarme, tengo un bucle for, dentro de ese bucle llamo a una operacion que cambia ...
  #1 (permalink)  
Antiguo 31/03/2006, 04:36
 
Fecha de Ingreso: julio-2005
Mensajes: 90
Antigüedad: 18 años, 9 meses
Puntos: 0
como consequir el valor NO la referencia de una variable

Bueno el problema que tengo es un poco complicado intentare explicarme, tengo un bucle for, dentro de ese bucle llamo a una operacion que cambia las propiedades de un objeto, el código seria del estilo siguiente:
Código:
[..]
mivar = new Array();
mivar = [1,2,13];
[..]
 for (i=0;i<3;i++)
  aux=mivar[i];
  object.method(param1, param3: function(var1) { callOtherMethod(aux);});
Como veis asocio una funcion a esa propiedad, el problema que tengo esta en que cuando mas tarde llamo a esa funcion, y es que el valor que se utiliza para la llamada a la funcion es siempre mivar[2] porque no interpreta el valor de aux hasta que no lo necesita y por tanto coge el ultimo valor que tuvo para cualquiera de las '3 llamadas' que podría hacer.

Hay alguna forma de obligar a interpretar ese valor antes, para que coja los valores adecuados?

Espero haberme explicado suficientemente bien.
  #2 (permalink)  
Antiguo 31/03/2006, 05:05
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Hola Motoko

Así, a primera vista parece que te faltan un par de llaves:
Código:
for (i=0;i<3;i++) {
  aux=mivar[i];
  object.method(param1, param3: function(var1) { callOtherMethod(aux);});
}
Saludos,
  #3 (permalink)  
Antiguo 31/03/2006, 05:05
 
Fecha de Ingreso: mayo-2005
Mensajes: 510
Antigüedad: 18 años, 11 meses
Puntos: 1
Hola Motoko. Tal vez pueda serte útil la función "eval(nombre_variable)", q lo q hace es interpretar el valor de la variable. No sé muy bien si es lo q necesitas... pero por probar no pierdes nada!

Otra cosa q puedes hacer, aunq eso te lo puede explicar mucho mejor JavierB... jeje, es usar [].

Te voy a contar mi ejemplo, porq creo q es parecido a lo q necesitas, y tu lo aplicas a tu situación, vale?

Tengo varios inputs q se crean de forma dinámica, y se les van dando los nombres de "edificio1", "edificio2"..., y luego quiero recoger el valor q se ha introducido en ellos con js, y para ello:

Código:
for (i=0; i<numero; i++) {
var nedificio = "edificio" + i;
var edificio = document.form[nedificio].value;
}
De esa forma me busca en el documento un elemento q se llama como el valor de la variable "nedificio", es decir, edificio1, edificio2... dependiendo en qué fase del bucle esté. Si cambio esa línea por:

Código:
var edificio = document.form.eval(nedificio).value;
Me funcinaba en firefox pero en IE no...

Bueno, no sé si es algo de eso lo q buscabas...

Un saludo, AnDrEa
  #4 (permalink)  
Antiguo 31/03/2006, 05:07
 
Fecha de Ingreso: mayo-2005
Mensajes: 510
Antigüedad: 18 años, 11 meses
Puntos: 1

A veces es mejor no meterse donde no te llaman... jeje. Lo intenté!
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:38.