我正在开发一个项目,我有一堆函数,我想在点击按钮时按特定顺序逐个调用。一旦执行了一个功能,我不想再使用了,我想转到下一个功能。
另一个S.O用户建议我需要使用数组,但我仍然在学习jQuery并且不确定如何做到这一点,任何人都能让我开始朝着正确的方向前进吗?
非常感谢提前。
答案 0 :(得分:3)
假设你有这样的功能:
function foo() { doSomeStuff; }
function bar() { doSomeOhterStuff; }
或者,一种替代但却相同的语法:
var foo = function() { doSomeStuff; }
var bar = function() { doSomeOhterStuff; }
然后你可以用这些函数名创建一个数组并迭代它们:
var functions = ['foo', 'bar'];
for(var i = 0; i <= functions.length; i++) {
window[functions[i]]();
}
或者您可以将函数直接传递给数组:
var functions = [foo, bar];
for(var i = 0; i <= functions.length; i++) {
func();
}
将它们插入数组的顺序决定了它们的执行顺序,每个函数只执行一次。希望这会有所帮助。
答案 1 :(得分:2)
示例代码:
function fnc1(){/* some code in here */};
function fnc2(){/* some code in here */};
function fnc3(){/* some code in here */};
var fncs = [ fnc1, fnc2, fnc3 ];
$("buttonId").click(function(){
var currentFunction = (fncs.shift()); // removes first element from array
if(currentFunction){
currentFunction();
}else{
alert('No more functions available');
}
});
答案 2 :(得分:0)
var inarr = [func1,func2,func3];
for (afunc in inarr) {
afunc();
}