Показать сообщение отдельно
  #7 (permalink)  
Старый 31.10.2011, 16:43
Аватар для GuardCat
Просто любитель
Отправить личное сообщение для GuardCat Посмотреть профиль Найти все сообщения от GuardCat
 
Регистрация: 13.09.2011
Сообщений: 300

Непонятно, почему этот вариант неудобен. Даже если сделать так:
function B()
{
	var argumentsString
	for (var x = arguments.length; x < arguments.length; x++) {
		argumentsString += arguments[x] 
		if(x < arguments.length-1) {
			argumentsString += ", ";
		}
	}
	eval("new A(" + argumentsString + ");");
}

Вам всё равно придётся работать с arguments, поскольку вам неизвестно, сколько принимать аргументов. Т.е. брать по индексу. Или подразумевается, что в функции A известно количество аргументов?

P.S.
К сожалению, нельзя передать arguments как массив (String(array)), поскольку вместо элементов, разделённых запятыми, возвращается строка Object Arguments.
Ответить с цитированием