在Javascript的eval中需要词法上下文

在Javascript的eval中需要词法上下文,javascript,Javascript,我正在编写一个字符串解析器,它接受像“{x}+20”这样的输入,并计算x的词法值和20,然后返回。所以 var x = 10; var new = eval("{x} + 20".replace("/\{(\w+\}/g", "$1")); 这里“new”应该等于30 如何做到这一点?我相信你就是这么做的: var x = 10 var y = eval("x + 20") 否?PS“new”是一个保留关键字,因此如果出现错误,它可能与此相关。此外,他正在输入替换字符串,而不是RegExp对

我正在编写一个字符串解析器,它接受像“{x}+20”这样的输入,并计算x的词法值和20,然后返回。所以

var x = 10;
var new = eval("{x} + 20".replace("/\{(\w+\}/g", "$1"));
这里“new”应该等于30


如何做到这一点?

我相信你就是这么做的:

var x = 10
var y = eval("x + 20")

否?

PS“new”是一个保留关键字,因此如果出现错误,它可能与此相关。此外,他正在输入替换字符串,而不是
RegExp
对象,即使这样,regex也是无效的(缺少
)”