Javascript函数作为循环中的变量
你能帮我做一个带函数的循环吗Javascript函数作为循环中的变量,javascript,function,for-loop,conditional-execution,Javascript,Function,For Loop,Conditional Execution,你能帮我做一个带函数的循环吗 function menu1(){}; function menu3(){}; function menu4(){}; function menu5(){}; function menu6(){}; function menu7(){}; 我有7个功能: function menu1(){}; function menu3(){}; function menu4(){}; function menu5(){}; function menu6(){}; functi
function menu1(){};
function menu3(){};
function menu4(){};
function menu5(){};
function menu6(){};
function menu7(){};
我有7个功能:
function menu1(){};
function menu3(){};
function menu4(){};
function menu5(){};
function menu6(){};
function menu7(){};
我需要做的是作为函数menux(){}加载
我的意思是,如果x==3,则从循环中加载函数menu3()
你也许应该解释一下你的处境,以及你想在更大的范围内实现什么。这似乎已经是一个次优的方法。但好吧,给你:
for(var x=1; x<8; x++)
{
window['menu' + x]();
}
for(var x=1;x你应该问问自己——如果有不同的方法。当然是
我建议你做一个函数,它接受一个参数,并根据它做一些事情,比如:
功能菜单(x){…}
如果第一个选项不适用于您,我建议您使用以下方法实现对象:
var方法={
menu1:函数(){},
menu2:function(){},
menu3:函数(){},
...
}
使用eval
。在这种情况下,请不要这样做。eval功能强大,但在这种情况下,它是一种过分的杀伤力
您可以将函数包装到对象中:
function menu1(){};
function menu3(){};
function menu4(){};
function menu5(){};
function menu6(){};
function menu7(){};
var wrap={
menu1:menu1;
menu3:menu3;
menu4:menu4;
menu5:menu5;
menu6:menu6;
menu7:menu7;
}
然后,您可以将其计算到:
for(x=1;x=8;=x++)
{
if(!wrap["menu"+i]) wrap["menu"+i]();
}
有很多方法可以做到这一点,你也可以做到:
function menu(int num){
switch(num)
{
case 1:
menu1();
break;
case 2:
menu2();
break;
//....
}
}
我希望它能有所帮助。你能不能只使用函数菜单(num){..}
?没有办法让一个菜单函数接受一个“menuNumber”参数?menu2发生了什么事?:)看看这个。