用动态参数调用动态函数

用动态参数调用动态函数

我正在寻找一个关于这个的伎俩。我知道如何在JavaScript中调用动态的任意函数,传递特定的参数,如下所示:


function mainfunc(func, par1, par2){

    window[func](par1, par2);

}


function calledfunc(par1, par2){

    // Do stuff here

}


mainfunc('calledfunc', 'hello', 'bye');

我知道如何使用arguments里面的集合传递可选的,无限制的参数mainfunc,但是,我无法想象如何发送任意数量的参数mainfunc来calledfunc动态发送; 我怎么能完成这样的事情,但有任意数量的可选参数(不使用那些丑陋的if- else)?


function mainfunc(func){

    if(arguments.length == 3)

        window[func](arguments[1], arguments[2]);

    else if(arguments.length == 4)

        window[func](arguments[1], arguments[2], arguments[3]);

    else if(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');


临摹微笑
浏览 461回答 3
3回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript