Почему же в таком случае вам не подходит вариант с передачей массива аргументов? На мой взгляд, задачу вариант решает.
|
Вариант ....
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, время: 11:29. |