, , foo . var foo , ( ).
var foo , . , +. , :
var fn = function() {
this.foo = "Setting foo from in a function";
};
, :
var fn = function() {
window.foo = "Setting foo from in a function";
};
, ?
+ foo , , . , , . , , foo. , , ; .
UPDATE
, - , . , , , :
var foo = 2;
var fn = function() {
var foo = 3;
}
console.log(foo);
var fnSource = fn.toSource();
eval(fnSource.replace(/^\(function\s*\(\)\s*{/, "").replace(/}\s*\)$/, ""));
console.log(foo);
(function () { }) , , eval.
, , .