1

setTimeOut のベスト プラクティスは、内部でやり直したい関数を含む無名関数を送信することだと理解しました。うまくいかないのはなぜですか?

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

1 に答える 1

3

それが動作します。もちろん、関数の名前はsetTimeout()代わりにsetTimeOut(). 次の例を参照してください。

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

movement(1);

それは印刷します:

1
2
3
4
5
于 2013-08-27T08:19:28.673 に答える