Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

124
Views
Cómo el cierre causa pérdida de memoria js

¿Podría alguien explicarme por qué el siguiente código no causa pérdidas de memoria? Según tengo entendido, originalThing variable se está utilizando en el cierre sin llamar y referenciado teóricamente por el cierre de algún método, por lo tanto, originalThing no debe recolectarse como basura, pero no veo ninguna pérdida de memoria cuando lo estaba perfilando en el navegador.

 <script> var theThing = new Array(1000000000); var replaceThing = function () { var originalThing = theThing; var unCalled = function () { if (originalThing) return originalThing }; var obj = { longStr: new Array(1000000).join('*'), someMethod: function () {} }; }; setInterval(replaceThing, 1000); </script>

Pero si cambié la variable obj a theThing, entonces causaría una pérdida de memoria, consulte el código a continuación:

 <script> var theThing = new Array(1000000000); var replaceThing = function () { var originalThing = theThing; var unused = function () { if (originalThing) console.log("Hi") }; theThing = { longStr: new Array(1000000).join('*'), someMethod: function () {} }; }; setInterval(replaceThing, 1000); </script>

Entonces, ¿qué diferencia hay en términos de pérdida de memoria causada por el cierre?

about 4 years ago · Juan Pablo Isaza
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!