我試圖使用eval()來evalute一個數學字符串變量和函數是否可以提供一個自定義範圍添加刪除瓦爾到eval函數?
例如:algo = "1+len+customfunction(6)"
所以,我對於len
和數據customFunction
功能。
它們顯然是在不同的範圍內聲明的。
我的東西試過像
process = function(vars, algo) {
return (function() {
algo = algo.toLowerCase();
return eval(algo);
}).call(vars);
};
我需要提供所需的函數和變量EVAL。項目在不同的範圍內,我該怎麼做?
現在我有點迷茫和困惑,這是甚至可能嗎? 我認爲使用eval('var'+vName+'='+value)
可以用於增值業務,但不適合功能。
EDIT:順便說一句EVAL可與(新功能(ALGO))() http://moduscreate.com/javascript-performance-tips-tricks/
JavaScript區分大小寫。您可能不希望將使用'eval'執行的代碼轉換爲小寫。 –
是的,但我的輸入不區分大小寫。我想要這種行爲 – Kwaadpepper
好吧,我的壞,我會更正的例子 – Kwaadpepper