Hacker News new | ask | show | jobs
by mulrian 3018 days ago
Second point is, global variables are not cleared by the garbage collector. So if you continuously add more and more global variables (which are not of future use), it will cause a memory leak.

Errr...

2 comments

It's an easy thing to do in JS, it happens if you forget the `var`.
only when not in strict mode, which is becoming more and more rare, especially in javascript codebases (as opposed to one-off scripts)
I think this is true because they hold a reference in window.
Sure that will prevent gc, but that doesn't mean it's a memory leak
It is if the variable is accidentally in global scope due to hoisting if it is not explicitly defined in a finer scope. Not an issue in strict mode, you'll get a reference error instead of an implied global.
If you're never going to use it again, and you're never going to free it, it's a memory leak.
No, it is not. A memory leak has to grow. Without the leak part, it is just ...allocated memory.