遇到数学运算符无法正常工作的问题。

var posfx = (dwidth - outwd) / 2 + (outwd - twd) + pdir + 1.5 * 14
                 //  =        58                    -         21


pdir是一个运算符(+或-),在这种情况下为负数。 &我尝试使用“ + pdir +”

它给我一个字符串:“ 58-21”,而不是数字(37)。我如何得到它来计算数字?

最佳答案

便宜的方法是在其周围加上eval(),但是您可以做得更好。

尝试将pdir +替换为(pdir == "-" ? -1 : 1) *

如果运算是减法运算,这将使下一项乘以-1

10-07 20:36