Переменная счетчика JavaScript колеблется между двумя значениями
Я пытаюсь непрерывно колебать переменную «z» на 0,1 между двумя диапазонами 0 и 2. Когда он достигает максимального значения 2, я хочу, чтобы переменная «z» уменьшалась. И когда он достигает минимального значения 0, я хочу, чтобы переменная «z» увеличивалась. Пока что весь мой код возвращает число 1.
ПРИМЕЧАНИЕ: я также использую это на холсте-скетче на github.com/mattdesl.
1 ответ
Решение
Попробуй это:
let z = 1;
let increment = 0.1
setInterval(function(){
if(z === 2) increment = -0.1;
if(z === 0) increment = 0.1;
z = Math.round((z + increment) * 10) / 10;
console.log(z);
}, 1000);
Линия z здесь очень важна. Попробуйте это как просто z + = increment, и вы получите ошибки округления JS. Поэтому нам просто нужно убедиться, что мы очистили число до одного десятичного знака после его добавления.