2015-09-17 78 views
-2

我正在尋找一個函數返回我一個數學函數下面這些例子:數學函數,JS

The_Function_I_Need("x^2") = function(x) { return math.pow(x, 2) } 
The_Function_I_Need("x*2+5") = function(x) { return 2*x+5 } 
The_Function_I_Need("x+y") = function(x, y) { return x+y } 

以及更多......

回答

1

var The_Function_I_Need = { 
 
    "x^2": function(x) { 
 
    return Math.pow(x, 2); 
 
    }, 
 
    "x*2+5": function(x) { 
 
    return 2 * x + 5; 
 
    }, 
 
    "x+y": function(x, y) { 
 
    return x + y; 
 
    } 
 
} 
 

 
console.log(The_Function_I_Need["x^2"](4)) 
 
console.log(The_Function_I_Need["x*2+5"](4)) 
 
console.log(The_Function_I_Need["x+y"](2, 4))

+1

我想這是做到這一點的一種方法。只需對公式進行硬編碼,而不是嘗試製作解析器。 –

+0

Call me Mr. Pragmatic;) – mplungjan

-1

Javascript eval()函數可以將字符串評估爲表達式。 要效仿你的例子,你可以使用eval("x^2")

參考:http://www.w3schools.com/jsref/jsref_eval.asp

+0

除「x^2」不計算爲「x-squared」這一事實外。 '^'運算符是[Bitwise XOR](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Bitwise_Operators#Bitwise_XOR)。 –

+0

好的。我專注於問題的本質,錯過了,謝謝! –