Можно сделать, чтобы конструкторы, при вызове без аргументов возвращал this:
function A(){
if( arguments.length === 0 )
return this;
this.args = Array.prototype.slice.call( arguments );
return this;
};
function B(){
return A.apply( new A, arguments );
};
alert( B( 1, 2, 3 ).args );
Но лучше использовать не n аргументов, а один объект с параметрами:
function A( setup ){
this.age = setup.age;
};
function B( setup ){
return new A( setup );
};
alert( B({ age: 25 }).age );