author here, it wasn't about hiding private variables. i was demonstrating using closures to avoid global namespace collisions which i think is generally a big problem for beginners.
i believe you mean using functions, not closures. your post doesn't seem to have the same misnomer, and simply explains lexical function scope. it doesn't seem to touch on the closure, while your parent comment does.
not exactly. closures close over scope. functions alone simply create a new scope. these concepts are not synonymous.
if your function doesn't return another function, the references from that function are deallocated once the function has executed.
when your function returns a function (a "closure"), the inner function closes over the variables of the outer function, maintaining references to it's context as long as you maintain a reference to the closure.
https://forums.aws.amazon.com/thread.jspa?threadID=261421&ts...