遍历Javascript中的函数

时间:2018-08-27 23:05:11

标签: javascript loops

我正在尝试遍历javascript中的六个功能。当用户将鼠标悬停在较小的图像上时,每个图像都会更改图像的图像源。我知道如何遍历数组,但似乎无法遍历函数。还有一种方法可以让它等待几秒钟,然后循环到下一个函数。感谢您提供的任何帮助。

3 个答案:

答案 0 :(得分:3)

我不确定我是否完全理解您的问题。也许这段代码会有所帮助?

function myFunction1() {
    // Some code you want to execute
    setTimeout(myFunction2, 1000);
}

function myFunction2() {
    // Some more code you want to execute
    setTimeout(myFunction3, 1000);
}

function myFunction3() {
    // Some final code you would like to execute before repeating the chain
    setTimeout(myFunction1, 1000);
}

每个函数在调用下一个函数之前都会执行一些代码(延迟1000ms之后)。 myFunction3()将调用myFunction1()并重复该链。

答案 1 :(得分:0)

首先它可能是一个函数数组:

// the list of functions
const actionList = [];

// pushing functions to the list
actionList.push(func1);
actionList.push(func2);
...

// running functions in a loop
for(let i = 0; i < actionList.length; i++) {
  actionList[i]();
}

如果要延迟运行它们,可以使用最简单的递归计时器方法:

const run = function (actionList, index, delay) {
  setTimeout(function () {
    actionList[index](); // execute current index function immediately
    index++; // increment index...
    if(actionList[index]) { // ...while there are items in the list
      run(actionList, index, delay); // next index function will be executed after "delay" ms
    }
  }, delay);
}

run(actionList, 0, 1000);

答案 2 :(得分:-1)

使用诺言,您的问题将直接得到解决。