Вызов динамической функции с динамическими параметрами в 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');

Ответы на вопрос(10)

Ваш ответ на вопрос