Say I have this anonymous function:
(function(window){
var private = \'private msg\';
function sayit() {
alert(private) // works
}
document.body.on
They aren't intended as "private" variables; that's just how closures work. You can do the same thing in Perl and Python, at the very least, and probably a great many other languages with closures and lexical scoping.
Debuggers like Firebug or Chrome Inspector can still show you the entire stack at any point (including closed-over variables), but other than that and without changing the original code, I think you're out of luck.
Perhaps if you told us your actual problem... :)