Hallo,
Bei einer Closure müsste die Variable in einer Funktion konserviert werden.
Das werden Variablen immer automatisch, sobald man Funktionen verschachtelst und die innere Funktion die Laufzeit der äußeren »überlebt«, also noch Referenzen auf sie existieren und sie nicht vom Garbage Collector entfernt wird.
Der Event-Handler konserviert in diesem Falle die Variablen der äußeren Funktion, auch wenn der Event-Handler nicht auf sie zugreift. JavaScript-Engines sind hier nicht so schlau, wie man denken mag.
Mathias