What a Closure Actually Is
A closure is a function bundled with its lexical environment — the variables that were in scope when it was defined. Every JavaScript function is a closure. The loop bug is just a surprising consequence of var's scoping combined with closures capturing references, not values.