2013-08-27 4 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 
Смежные вопросы