将参数传递给递归函数javaScript

时间:2013-08-27 08:14:38

标签: javascript recursion

我知道setTimeOut的最佳做法是发送一个匿名函数,其中包含我想要重做的函数。 为什么它不起作用?

function movement(dir) {
    ...
    ...
        setTimeOut(function (){movement(dir);},21);

1 个答案:

答案 0 :(得分:3)

它会起作用。当然,函数的名称是setTimeout()而不是setTimeOut()。见这个例子:

function movement(dir) {
  console.log(dir);
  if (dir++ < 5) {
    setTimeout(function () {
      movement(dir);
    }, 21);
  }
};

movement(1);

打印:

1
2
3
4
5