Foros del Web » Programando para Internet » Javascript »

Error pasando un array por valor a una función

Estas en el tema de Error pasando un array por valor a una función en el foro de Javascript en Foros del Web. Este es el código de la función: Código: function test(n) { alert(n); var a = n; a.shift(); alert(n); } si ejecutamos: Código: test(Array(1,2)); saldrán dos ...
  #1 (permalink)  
Antiguo 24/09/2008, 03:42
 
Fecha de Ingreso: septiembre-2008
Mensajes: 2
Antigüedad: 15 años, 7 meses
Puntos: 0
Pregunta Error pasando un array por valor a una función

Este es el código de la función:
Código:
function test(n)
{
   alert(n);
   var a = n;
   a.shift();
   alert(n);
}
si ejecutamos:
Código:
test(Array(1,2));
saldrán dos alerts, el primero pone
Código:
1,2
pero el segundo pone
Código:
2
Lo cual quiere decir que "n" se ha modificado al modificar "a".

¿Los arrays siempre se copian por referencia? ¿Hay alguna forma de que no lo hagan? No entiendo como gestiona la memoria JavaScript.
  #2 (permalink)  
Antiguo 24/09/2008, 05:02
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años
Puntos: 834
Respuesta: Error pasando un array por valor a una función

Leete esto: http://blog.scriptia.net/articulos/2...y-objetos.html
  #3 (permalink)  
Antiguo 24/09/2008, 10:32
 
Fecha de Ingreso: septiembre-2008
Mensajes: 2
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Error pasando un array por valor a una función

Estoy empezando a programar cosas más potentes en javascript y es bueno entender como asigna las variables.

Muchas gracias!
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 01:17.