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