By looking at your comment seems that your major concern is having to reference several times a deeply nested object, avoiding eval
and with
I would simply recommend you to use an alias identifier, for example:
// some local scope...
var foo = namespace.constructors.blah.dramatic.variables;
// replace foo with something meaningful :)
foo.method1();
foo.method2();
foo.property1;
// etc...
In that way the deeply nested object will already be resolved and referencing your alias will be faster, eval
and with
IMO would only cause you more problems than benefits in this case.