[英]what is the correct way to sum loop
var startX = 501;
var finalX = 320;
var multiply = .01;
var res = finalX - startX;
var extract = multiply * res;
var toEval;
if (res > 0) {
toEval = "<=";
} else {
toEval = ">=";
}
console.log("extract= " + extract + "");
while (eval(startX + toEval + finalX)) {
startX += (-1.81);
console.log(startX + " " + extract);
}
“问题”在while循环中,在第13次迭代中,在控制台中发生了这种情况:
479.28-1.81 = 477.47
那么循环中到底发生了什么?
您可以使用函数进行比较,而不是使用eval
。
var startX = 501, finalX = 320, multiply = .01, res = finalX - startX, extract = multiply * res, toEval; if (res > 0) { toEval = function (a, b) { return a <= b; }; } else { toEval = function (a, b) { return a >= b; }; } console.log("extract= " + extract + ""); while (toEval(startX, finalX)) { startX += (-1.81); console.log(startX + " " + extract); }
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.