2013-08-27 67 views
1

我知道setTimeOut的最佳做法是發送一個匿名函數,並在函數中添加我想要重做的函數。 爲什麼它不工作?將參數傳遞給遞歸函數javaScript

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

它的工作:http://jsfiddle.net/8neft/ – Amberlamps

回答

3

它會工作。當然,該函數的名稱是setTimeout()而不是setTimeOut()。看到這個例子:

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

movement(1); 

它打印:

1 
2 
3 
4 
5