This is pretty safe way. It is hard to get global object, it is not always `window`, in node it is `global`, in rhino IIRC there is none directly available, of course, you can do `({}).valueOf.call()` or `(function(){return this})()` but it does not work in strict mode (I would like to amber scrict, one day).

And just to be sure, maybe you know it, `new Function(....` magic is there for a reason - `eval` as well as direct `(function(){...})` expressions are lexically bound, so they see local and closure variables, but `new Function` is guarateed (at least, in spec) to be bound to global object.