Показать сообщение отдельно
  #1 (permalink)  
Старый 27.01.2018, 00:17
Интересующийся
Отправить личное сообщение для IAmTrying Посмотреть профиль Найти все сообщения от IAmTrying
 
Регистрация: 22.12.2017
Сообщений: 15

Помогите пожалуйста, немогу понять этот пример
var cat = document.querySelector("img");
var angle = 0, lastTime = null;
function animate(time) {
if (lastTime != null)
angle += (time - lastTime) * 0.001;
lastTime = time;
cat.style.top = (Math.sin(angle) * 20) + "px";
cat.style.left = (Math.cos(angle) * 200) + "px";
requestAnimationFrame(animate);
}
requestAnimationFrame(animate);


Объясните пожалуйста, как эта функция работает lastTime = null, а потом условие if (lastTime != null) как запускается тело после if? Зачем мы передаем в функцию переменную если потом не задаем здесь requestAnimationFrame(animate) ? Почему не объявить ее внутри?
angle += (time - lastTime) * 0.001 как это работает? Незаданная переменная time(которая просто объявлена), и lastTime = null, как оно переходит с null в какое-то значение, я вижу что идет присвоение lastTime = time; но переменной time не присваивается значение нигде, сложна сложна слооожна
Ответить с цитированием