2016-02-25 24 views
1

我正在製作一個簡單的圖形制作器來可視化方程。我需要能夠讓用戶在文本框中輸入一個字符串,然後將其解釋爲我可以執行的一段代碼來生成圖。我顯示圖形的方法是以小增量通過x,然後使用方程式計算y位置,然後在點之間繪製一條直線。目前我只是在代碼中手動編寫函數,例如:JavaScript:我如何使用字符串作爲一段代碼

function(val){return(val * val)+ 5; }

但我需要能夠從一個字符串創建一個類似的功能,所以用戶可以輸入像「(x * x)+(2 * x)」的東西。有沒有辦法做到這一點?

+0

爲什麼不使用輸入框用於等式的每個單獨的組件?喜歡[this](http://inequalitycalculator.com/) –

+0

啊,是的,謝謝你!我也希望能夠使用其他函數,如sin,cos,tan等。我可以使用單獨的輸入,但我認爲如果我只是在一個文本框中寫出方程式,它會顯得更加靈活。 – Timotei

+0

然後我會考慮某種解析機制。也許廣泛使用'split'函數。 –

回答

0

典型地,這是用eval()完成的,雖然它有很多注意事項,應該可以避免。

有幾個關於SO的問題,討論eval的替代方法,但在你的情況下,我會建議一個非常簡單的解析器 - 特別是如果你正在處理的只是數學方程。

相關問題