In other words, with a code like this:
<script>
window['object'] = function(arg) {
var myvar = 1;
this.object = {};
//assign new properties and do more stuff
this.object.x = arg?arg+1:myvar;//just one example for the context
}
//run function once and overwrite it with object
object(1);
</script>
This of course assumes the function requires contained local vars and/or argument dependencies, justifying having an actual function in order to set the object in the first place.
I am gonna close this question with the answer given on Twitter by Vyacheslav Egorov, which is self explanatory.
there are no real performance benefits (ok, a single property can be reused, but that's it)