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