Foros del Web » Programando para Internet » Javascript » Frameworks JS »

Consulta básica sobre objeto devuelvo por $( )

Estas en el tema de Consulta básica sobre objeto devuelvo por $( ) en el foro de Frameworks JS en Foros del Web. Hola foreros, quisiera saber si al crear un nuevo objeto img con la función factory $( ) de jquery sin almacenarlo en ninguna variable queda ...
  #1 (permalink)  
Antiguo 07/09/2011, 13:56
de-troit
Invitado
 
Mensajes: n/a
Puntos:
Consulta básica sobre objeto devuelvo por $( )

Hola foreros, quisiera saber si al crear un nuevo objeto img con la función factory $( ) de jquery sin almacenarlo en ninguna variable queda ocupando espacio en memoria? es decir esto:

Código:
$(function() {
    $('<img>', { src: 'imagen.png' });
})
Al no guardarlo en ninguna variable queda ocupando espacio? Supongo que si, lo que pasa es que hago esto para que sólamente se carguen unas imágenes (ya que al darle un atributo src inmediatamente se carga la imágen aunque no esté añadida en el documento html o DOM) pero después debo eliminar este objeto, en donde para hacerlo hago algo parecido a esto:

Código:
$(function() {
    var objeto = $('<img>', { src: 'imagen.png' });
    objeto.remove();
})
Pero no da resultado, ya que después de esto trato de acceder a su atributo src y lo sigue mostrando, he pensado que para poder ocupar el método remove() el objeto nuevo debe estar insertado en la página web ( objeto.appendTo(document.body). Quizás hice algo mal y por eso no lo removió. Qué saben ustedes al respecto?

Cómo puedo removerlo de la memoria para que no quede ocupando espacio sin tener que insertarlo en la página web y luego capturarlo a través de su ID y removerlo?

Al no guardarlo en ninguna variable ya queda formando parte del DOM? o forma parte cuando lo añado al documento html con funciones como append?

Saludos!
  #2 (permalink)  
Antiguo 09/09/2011, 16:59
 
Fecha de Ingreso: agosto-2009
Mensajes: 247
Antigüedad: 14 años, 8 meses
Puntos: 10
Respuesta: Consulta básica sobre objeto devuelvo por $( )

objeto = null;

http://sharkysoft.com/tutorials/jsa/content/021.html
__________________
The best powerful search engine for MSN messenger profiles I know is msn profile viewer. It's really good either if you have an e-mail address or not. Try it!
  #3 (permalink)  
Antiguo 09/09/2011, 18:05
de-troit
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Consulta básica sobre objeto devuelvo por $( )

claro, pero si no almaceno el objeto en ninguna variable (si queda volando suelto) se elimina de la memoria al no guardar una referencia? o queda ocupando espacio?

un objeto se elimina de memoria cuando pierde todas sus referencias?

Al igualar el objeto o referencia del objeto a null (refObj = null) se pierde su única referencia, pues entonces se elimina de la memoria?

Saludos!
  #4 (permalink)  
Antiguo 09/09/2011, 18:36
 
Fecha de Ingreso: agosto-2009
Mensajes: 247
Antigüedad: 14 años, 8 meses
Puntos: 10
Respuesta: Consulta básica sobre objeto devuelvo por $( )

Te propongo un experimento: carga varias imagenes pesadas.... y mira el consumo de memoria del navegador (en lo posible abre una sola instancia y ventana) ...ANTES y DESPUES

Deberias probar en varios browsers porque la implementacion de JS depende de cada uno.

Me cuentas

PD: Si ves el tema de burbujeo de eventos, veras que hay varias formas de pensar las cosas.....y cada navegador puede implementar esto de forma distinta
__________________
The best powerful search engine for MSN messenger profiles I know is msn profile viewer. It's really good either if you have an e-mail address or not. Try it!

Última edición por bigwhite; 09/09/2011 a las 18:44
  #5 (permalink)  
Antiguo 09/09/2011, 21:59
de-troit
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Consulta básica sobre objeto devuelvo por $( )

Sube el consumo de memoria ram, despues vuelve a como estaba antes. A qué va todo esto? A que se pierde la referencia del objeto y se libera la memoria?

Etiquetas: jquery
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 07:57.