Сегодня утром наткнулся на данную статью
Основы программной анимации на JavaScript
и вроде всё в порядке... даже реализовал анимацию, движение по спирали, пока в голову не начали лезть сомнения.. Всё-таки для человека долгое время развлекающегося асемблером и далекого от web-технологий всё это как то странно.. просто хочу уточнить пару моментов..
Допустим есть что-то похожее на:
function go(arg1,arg2){
var radius = arg1;
var obj = arg2; /* элемент который вращаем*/
...
setTimeout(function() {
/* Используем radius и obj*/
/* Тут изменение параметров */
if (/* условие срабатывания итерации */)
setTimeout(arguments.callee, 0);
}, 0);
}
Не могу до конца понять.. Смотрите..
мы запускаем go(MyElement1, Rad);
проинициализировались переменные
setTimeout запускает анонимную функцию и гоняет её по циклу, пользуясь переменными go(), пока не сделает все свои дела...
вопрос встал вот в чем: пока setTimeout гоняет свою функцию, она пользуется переменными go() и тут я могу понять замыкание и тд.. НО! А если я пользуюсь этой функцией не для одного элемента, а для нескольких??? Разве переменные radius и obj не должны перетераться???? и на этом месте у меня в голове заварилась каша