Скажем, у меня есть что-то вроде
function animate(param)
{
// ...
if (param < 10)
setTimeout(function () { animate(param + 1) }, 100);
}
animate(0);
Означает ли это, что каждый экземпляр локальных данных функции будет храниться в памяти до тех пор, пока не будет завершен анимит, т.е. до тех пор, пока параметр не достигнет 10?
Если верно, что экземпляры хранятся в памяти, есть ли лучший способ сделать это? Я знаю, передача текстового кода в setTimeout()
решает проблему, но в моем случае есть объекты среди аргументов функции, которые не могут быть представлены как строки легко.