Last week it came out that, in Firefox (and other Gecko-based browsers) you could dip into the private scope of a function using eval, like so: // Getting "private" variables var obj = (function() { var a = 21; return { // public function must reference 'a' fn: function() {a;} }; })(); var foo; eval('foo=a', obj.fn); console.log(foo); // 21 I think the common response to seeing the above was somet