评估一个函数

我正在尝试创build一个小型库,您可以发送一个对象(具有函数)和一些数据以及参数,并将对象,数据和参数发送给工作进程,然后该进程将评估该对象以重build函数(从string到函数)

目前我有这个:

JSON.stringify(object, function(key, val) { if typeof val === 'function' { return val + '' } return val });

这个函数会将包含函数的对象串联起来。

在我的工作人员,我试图撤消这个过程。

我已经尝试了以下内容: eval(object)我也试图实现JSON.parse与eval()每个函数,当我碰到一个。

我也试过eval("return " + object.function)

这可能吗?

你可能想要:

 eval("(" + object.function + ")"); 

你不能把return语句放在某个地方。

function() {}被评估为函数声明 ,因为它没有名字而失败。 由于要parsing的数据表示一个函数expression式 ,比如var f = function() {} ,所以你需要在其周围放置() ,以便将它作为expression式求值。