Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

210
Vistas
¿Por qué se producen pérdidas de memoria al ejecutar un evento en JavaScript?

Tengo en mi html un botón con una identificación llamada "btn".

 <!DOCTYPE html> <html lang="es"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Index</title> </head> <body> <button id="btn">Click!!!</button> <script src="./script.js"></script> </body> </html>

La finalidad es que cada vez que se presione muestre u oculte una imagen,

Al click , se crea una imagen a partir de una plantilla, su contenido se extrae y se inserta en el DOM después de que el botón y la plantilla se establezcan en null , cuando se presiona el botón nuevamente, verifica si la imagen ya está en el dom, si lo es, lo elimina y la referencia lo establece en null , este es el script.js :

 const btn = document.getElementById('btn'); btn.addEventListener('click', () => { let img = document.getElementById('img'); if (!img) { let template = document.createElement('template'); template.innerHTML = '<img id="img" src="./img.jpg" alt="Image"/>'; btn.after(template.content); template = null; } else { img.remove(); img = null; } });

Cuando se dispara el evento, la memoria crece cada vez más, no debe aumentar, debe permanecer más o menos constante, ya que, ¿las referencias se eliminan una vez que finaliza el alcance de la función? ¿O no? ingrese la descripción de la imagen aquí

Después de esperar aproximadamente de 1 a 2 minutos, la memoria disminuye recientemente, pero aún no vuelve al valor inicial (es decir, aproximadamente 16,000 K, aunque la imagen no está en la memoria ni en el DOM):

ingrese la descripción de la imagen aquí

¿Qué está pasando? ¿Deberían eliminarse automáticamente las variables de un alcance cuando finaliza? ¿o no se eliminan en el momento exacto en que finalizó el alcance? ¿Estoy entendiendo algo mal? Espero que puedas ayudarme a entender :)

about 4 years ago · Juan Pablo Isaza
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda