Показать сообщение отдельно
  #14 (permalink)  
Старый 01.11.2011, 13:50
Профессор
Отправить личное сообщение для Sweet Посмотреть профиль Найти все сообщения от Sweet
 
Регистрация: 16.03.2010
Сообщений: 1,618

Можно сделать, чтобы конструкторы, при вызове без аргументов возвращал 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 );
Ответить с цитированием