私は主にjavascript、Jquery、ノックアウトなどを扱っています
eval() に惹かれたのは
var a = 5;
var b = 10;
eval("a+b");
//Gives me output 15
注: と の値が動的に変化するa
場合に作業しますb
私の仕事では、json、ノックアウトなどの多くの動的オブジェクトを扱っています。そのため、eval は私の問題のほとんどを解決します。しかし、読んでみると、速度低下など、eval() には非常に多くの問題があることがわかりました。
私はたくさん検索しましたが、文字列として取得する方程式をオブジェクトとして方程式に評価する必要がある場合、eval() の代わりは見つかりませんでした。
上記の例を念頭に置いて、誰でも eval() に代わるプラグインまたは関数を提案できますか
問題:
ノックアウト マッピングを使用して、Json データからテーブルを作成しています。そのため、json の形式が何であれ、テーブルが生成されます。また、計算されたノックアウトを使用していくつかのフィールドを計算します。今、私はハードコードを使用しています
self.Salary = ko.computed(function(){ return self.salaryEqn() && eval(self.salaryEqn()).toFixed(2); })
self.salaryEqn(salEqnTxt);
これらの方程式を動的に実行したい。文字列として動的に作成できますが、それらを評価することは私が直面している問題です。
解決策が欲しい
evalを使用せずにJavaScriptの文字列に格納された式を計算する方法はありますか?
式のように
"self.Salary = ko.computed(function(){ return self.salaryEqn() && eval(self.salaryEqn()).toFixed(2); })"