Почему же в таком случае вам не подходит вариант с передачей массива аргументов? На мой взгляд, задачу вариант решает.
|
Вариант ....
function A() { for (var a = 0; a < arguments.length; a++) alert(arguments[a]) } function B() { return A.apply(this, arguments) } B(1, 2, 3); |
Цитата:
|
Можно сделать, чтобы конструкторы, при вызове без аргументов возвращал 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 ); |
Часовой пояс GMT +3, время: 08:33. |