Возможный дубликат:
Можно ли отправить переменное количество аргументов функции JavaScript?
Я могу использовать arguments
, чтобы получить переменное количество аргументов внутри функции, но как передать их другой функции, не зная ее прототипа?
function show(foo, bar) { window.alert(foo+' '+bar); }
function run(f) { f(arguments); } // not correct, what to do?
run(show, 'foo', 'bar');
Примечание. Я не могу гарантировать количество аргументов, необходимых для функции f
, которая передается в run
. Смысл, хотя приведенный пример имеет 2 аргумента, он может быть 0-бесконечным, поэтому следующий не соответствует:
function run(f) { f(arguments[1], arguments[2]); }