【发布时间】:2014-02-27 00:20:00
【问题描述】:
我正在尝试创建一个简单的图形计算器,用户可以在其中输入 f 的函数(如 f(x) = x^2+2x+6)。基本上,javascript 用某个数字替换函数中的 x,然后使用 eval() 评估函数。问题是,我希望用户能够输入 x^2 而不是默认的 JavaScript,即 Math.pow(x,2)。我猜这将是一些正则表达式,但我对它们几乎没有经验,并且个人觉得它们真的很混乱。是否可以将 x^3-x^2 之类的语句转换为 Math.pow(x,3)-Math.pow(x,2) ??
非常感谢您的帮助。
【问题讨论】:
-
是的,这是可能的。你能告诉我们你到目前为止尝试了什么吗?您可以从这里开始使用正则表达式 regular-expressions.info
-
eval是不好的做法,对任务来说是不必要的(不是说有帮助或任何事情,在大多数情况下这不是一件好事) -
^不是您唯一的问题,您还必须添加一个乘数运算符 (*)。 -
这几乎是计算机科学中最受欢迎的作业,网站上对此进行了很好的介绍。然而,使用
eval和正则表达式是作弊。谷歌"parse math expression in JavaScript",你会得到数以千计的教程。 -
用户应该可以输入
f(x) = x^(2x + 1) + 1/(2^(2*x))吗?
标签: javascript regex math