Foros del Web » Programando para Internet » Javascript »

el javascript se acumula?

Estas en el tema de el javascript se acumula? en el foro de Javascript en Foros del Web. Hola; Necesito algunas orientaciones :) . Que pasa si tengo una pagina web que en lo posible jamas tenga que recargar La información aparece y ...
  #1 (permalink)  
Antiguo 23/04/2014, 11:43
 
Fecha de Ingreso: diciembre-2009
Mensajes: 33
Antigüedad: 14 años, 4 meses
Puntos: 0
Pregunta el javascript se acumula?

Hola;

Necesito algunas orientaciones :) .

Que pasa si tengo una pagina web que en lo posible jamas tenga que recargar
La información aparece y desaparece mediante eventos jquery (load)

-Tengo un "div contenedor" que es donde muestro los diferentes form
-En cada archivo html que llamo con "load" adentro de mi "div contenedor" tengo agregado su script para sus funciones propias

pagina1.html
script1.js

pagina2.html
script2.js

pagina3.html
script3.js


cuando cargo pagina1, se carga script1,
cuando cargo pagina2, se carga script2 pero puedo leer las variables del script1
y quiero evitar eso, cuando cargue pagina2, la pagina1 se borra pero su script1 queda como en memoria. cuando cargue la pagina2 solo necesito el script2.

Esta duda me surgio por que pude leer las variables de los demas script(1,2y3) desde cualquier pagina que tenga cargada.

Que pasa con los script que se van cargando?
Es posible poder limpiar eso?

He intentado poniendo id en los scripts.
Hacer un div contenedor y borrar la llamada.
html("") al div contenedor
empty() al div contenedor
remove() al div contenedor y crearlo denuevo.

pero el scrip no se quita con nada.

Es posible quitar los script?
mientras mas script cargados mas lenta la pagina?
los script se acumulan?
por ejemplo si llamo a la pagina1 carga script1, luego llamo pagina2 y se carga el script2, luego cuando cargue la pagina1 denuevo, se volvera a cargar script1, se pisa o lo crea denuevo ?

son mis dudas xd
  #2 (permalink)  
Antiguo 23/04/2014, 12:27
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 16 años
Puntos: 528
Respuesta: el javascript se acumula?

Si cargas un javascript de forma dinámica, el script se sumará a lo que ya tengas previamente, si se trata de nuevas funciones o variables. Si se trata de la misma función o variable, se sobreescriben los valores. Al ocupar cada función o variable cierta cantidad de memoria, teóricamente el rendimiento puede disminuir, aunque a efectos prácticos salvo que hables de scripts muy pesados, es imperceptible.
  #3 (permalink)  
Antiguo 23/04/2014, 13:01
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 7 meses
Puntos: 454
Respuesta: el javascript se acumula?

Si quieres borrar (funciones y variables) del script anterior puedes hacerlo borrándolas una a una. Si tienes una variable o funcion global, puedes borrarlas con delete

Código Javascript:
Ver original
  1. variable = 4;
  2. delete window.variable;
  3. funcion = function() {...};
  4. delete window.funcion;

Esto, aparte de ser muy pesado, no te funcionara si usas var para declarar

Código Javascript:
Ver original
  1. var variable=4;
  2. delete window.variable; // No funciona.

Para facilitar todo esto, puedes en cada script crear todas las variables y funciones dentro de un objeto especifico del script (lo llamo script1)

Código Javascript:
Ver original
  1. script1 = {};
  2. script1.variable = ...;
  3. script1.funcion = function() {....};

y así luego te bastaría con un

Código Javascript:
Ver original
  1. delete window.script1

para borrarlo todo de golpe. (no pongas var delante de script1={}

Incluso aunque no los borres, al menos no tendrías conflictos con los nombres de variables y funciones de los distintos scripts, aunque en tu caso no sería grave porque cada script "machaca" lo que tenga conflictivo con el anterior.

Se bueno.
__________________
Apuntes Java
Wiki de Programación

Etiquetas: funcion, html, jquery, js, variable
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 11:26.