[英]Eliminating the need to write 'this' inside function being called by call()?
I want to be able to write expressions as strings and then evaluate them. 我希望能够将表达式编写为字符串,然后对其求值。 So I have:
所以我有:
var expression = "this.num*2"
function x(expression, o) {
var fn = function(){}, result;
fn = Function.apply(o, ["return " + expression + " ;"]);
return fn.call(o)
}
var obj = {"num":3}
console.log(x(expression, obj))
Which works great. 哪个很棒。 However, I want to be able to write "num*2"
但是,我希望能够写“ num * 2”
How do I do this? 我该怎么做呢?
您可以尝试使用JavaScript Expression Evaluation库 ,该库允许执行Parser.evaluate("num * 2", {num: 3})
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.