JavaScript 计数器变量在两个值之间波动

JavaScript Counter Variable Fluctuate Between Two Values

我正在尝试在 0 和 2 的两个范围之间以 0.1 的幅度连续波动变量“z”。当它达到最大值 2 时,我希望变量“z”递减。当它达到 0 的最小值时,我希望变量“z”递增。到目前为止,我的代码所做的只是 return 数字 1.

注意:我也在 canvas-sketch by github.com/mattdesl

上使用这样做

let z = 1;
let count = 0.1;

setInterval(function(){
  if(z == 2) count *= -1;
  if(z == 0) count *= +1;
  return z += count;
}, 1000);

console.log(z);

试试这个:

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 舍入错误。所以我们只需要确保我们在添加后将数字清理到小数点后一位。