Вызов динамической функции с динамическими параметрами в Javascript [дубликаты]
На этот вопрос уже есть ответ:
Передача массива в качестве параметра функции в JavaScript 10 ответов Передача аргументов в другую функцию JavaScript [дубликаты] 3 ответаЯ ищу хитрость по этому поводу. Я знаю, как вызывать динамическую произвольную функцию в Javascript, передавая конкретные параметры, что-то вроде этого:
function mainfunc (func, par1, par2){
window[func](par1, par2);
}
function calledfunc(par1, par2){
// Do stuff here
}
mainfunc('calledfunc','hello','bye');
Я знаю, как передавать необязательные, неограниченные параметры, используя набор аргументов [] внутри Mainfunc, но я не могу понять, как отправить произвольное количество параметров в Mainfunc для отправки на Calledfunc динамически; как я могу сделать что-то подобное, но с любым количеством необязательных аргументов (не используя этот уродливыйесли ещ)? :
function mainfunc (func){
if(arguments.length == 3)
window[func](arguments[1], arguments[2]);
elseif(arguments.length == 4)
window[func](arguments[1], arguments[2], arguments[3]);
elseif(arguments.length == 5)
window[func](arguments[1], arguments[2], arguments[3], arguments[4]);
}
function calledfunc1(par1, par2){
// Do stuff here
}
function calledfunc2(par1, par2, par3){
// Do stuff here
}
mainfunc('calledfunc1','hello','bye');
mainfunc('calledfunc2','hello','bye','goodbye');