参见英文答案 >
What are the Alternatives to eval in JavaScript? 7个
我主要使用javascript,Jquery,knockout等
吸引eval()给我的东西是
var a = 5;
var b = 10;
eval("a+b");
//Gives me output 15
注意:在a和b的值动态变化的情况下,我会工作
在我的工作中,我正在处理很多来自json,knockout等的动态对象,所以eval解决了我的大部分问题.
但是正如我所看到的那样,我发现eval()就像减慢等等这么多问题
我搜索了很多,没有找到任何替代eval(),当我必须评估方程式获得作为字符串作为对象的方程式.
任何人都可以建议一个插件或函数替代eval(),记住我上面给出的例子
问题:
我使用敲除映射从Json数据创建一个表.所以生成了json的格式是什么.我也使用敲除计算计算一些字段.
现在我用硬编码
self.Salary = ko.computed(function(){ return self.salaryEqn() && eval(self.salaryEqn()).toFixed(2); })
self.salaryEqn(salEqnTxt);
我想执行这些方程动态.我可以用string创建它,但是eval是我面临的问题.
我想要解决方案
有没有办法在JavaScript中计算存储在字符串中的公式,而不使用eval?
像一个公式
"self.Salary = ko.computed(function(){ return self.salaryEqn() && eval(self.salaryEqn()).toFixed(2); })"