猿问

Node.js:使用 Math 方法而不引用模块

在运行在 Node.js 上的科学包中,我需要执行用户提供的数学表达式,如“sin(2*PI*x)”。目前,它的实现类似于:


// from input: s = "1+Math.sin(2*Math.PI*x)";

...

// regexp to verify "s" doesn't contains dangerous characters as '";

...

val f = new Function( 'x', s );

...

f(12);

问题是用户必须键入Math.sin(3*x)而不是更简单的sin(3*x). 有没有办法跳过这个问题?


如果不可能,我将寻找一个“替换”调用,该调用1+Math.sin(3*x)从1+sin(3*x).


手掌心
浏览 298回答 1
1回答
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答