This document is about the gloal objects of JavaScript such as window, document, Function ============================================================== `document.defaultView` is the same as `window` ============================================================== `window.document` is the same as `document` ============================================================== Let's star with this: ---------------------------------------- window.Function(code)(); ---------------------------------------- ,which can be written in more complex way like this: ---------------------------------------- function evalx(prop,code){this[prop](code)();} evalx("Function",code); ---------------------------------------- And here is the most complex to write the samething! ---------------------------------------- (function(){ (function(_c3,_c1){ _f1()("o!');","Function","rt("); function _f1(){ return function(_c4,_p1,_c2){ _f2()(_f3()("join",[_c1,_c2,_c3,_c4],''))(); function _f2(){ return this[_p1]; }; }; }; function _f3(){ return function(_p2,_px,_p3){ return _px[_p2](_p3); } } }("'fo","ale")); }()); ---------------------------------------- _c1 _c2 _c3 _c4 _f1 _f2 _f3 _p1 _p2 _p3 ------------------------ %c1% %c2% %c3% %c4% ------------------------ %Function% %join% ------------------------ (function(){ (function(_c3,_c1){ _f1()(%c4%,%Function%,%c2%); function _f1(){ return function(_c4,_p1,_c2){ _f2()(_f3()(%join%,[_c1,_c2,_c3,_c4],''))(); function _f2(){ return this[_p1]; }; }; }; function _f3(){ return function(_p2,_px,_p3){ return _px[_p2](_p3); } } }(%c3%,%c1%)); }()); ----------------------------------------