无法弄清楚一个简单的数学方程式

时间:2011-09-05 11:54:10

标签: javascript math

我想做的是用一个数学公式替换两个if语句。我不能为我的生活弄清楚如何,因为数学从来都不是我的强项。任何建议都将不胜感激。

<script>

var x, y, z;
x = 200;
y = 100;
i = 0;

 while(z != y) {

    i++;

    if (x < y) z = x + i;
    if (x > y) z = x - i;

    document.write(z + "<br>");

}


</script>

编辑:真实代码看起来像这样。它不太漂亮,希望我能把它缩小到两行。

if (prevposX < newposX) posX = prevposX + animStep_;
if (prevposX > newposX) posX = prevposX - animStep_;
if (prevposY < newposY) posY = prevposY + animStep_;
if (prevposY > newposY) posY = prevposY - animStep_;

编辑:

已经有一段时间了,但我相信Modulus(%)运营商会帮助我。我现在转移到图书馆为我做图形,所以我最终不需要它。

1 个答案:

答案 0 :(得分:4)

您可以使用ternary operator

z = x + ((x<y) ? i : -i)

这假定在x >= y时您需要-i。如果你想要完全坚持你的原始你需要第二个三元运算符,这有点乱:

z = x + ((x<y) ? i : ((x>y) ? -i : 0))

坦率地说,将它保留在2行上可能会更清楚,如果你已经拥有2个if语句。