JavaScript for循环递减212.5输出结果与预期不符问题求助
问题原因
你写的代码存在重复减值的问题,for循环头部的value1--会让变量每轮自动减1,加上循环体内的value1 -=212.5,每轮实际总减值为213.5,所以输出结果和预期不符。
修复方案
方案1:移除for循环自带的减值逻辑,仅在循环体内控制减值
如果需要输出-212.5、-425、-637.5三个值,到终点-850停止不输出,写法如下:
for(var value1 = 0; value1 > -637.5; ){ value1 -= 212.5 console.log(value1) }
如果需要将终点-850也纳入输出,调整循环条件即可:
for(var value1 = 0; value1 > -850; ){ value1 -= 212.5 console.log(value1) }
方案2:通过循环次数控制,逻辑更直观
你需要的减值次数是固定的,直接指定循环次数可以避免数值边界判断出错:
// 输出三个值的写法 for(var i = 0, value1 = 0; i < 3; i++){ value1 -= 212.5 console.log(value1) } // 输出四个值(含-850)的写法 for(var i = 0, value1 = 0; i < 4; i++){ value1 -= 212.5 console.log(value1) }
内容的提问来源于stack exchange,提问作者penguinz0
相关产品推荐
相关产品推荐

