【发布时间】:2011-10-19 14:54:17
【问题描述】:
我正在尝试创建一个小型库,您可以发送一个对象(具有函数)和一些数据和 args,它会将对象、数据和 args 发送给一个工作进程,然后该工作进程将评估该对象重构函数(从字符串到函数)
目前我有这个:
JSON.stringify(object, function(key, val) {
if typeof val === 'function' { return val + '' }
return val
});
这个函数将字符串化一个包含函数的对象。
在我的工作人员中,我正在尝试撤消此过程。
我尝试了以下方法:
eval(object)
我也尝试过实现 JSON.parse,并在遇到一个函数时尝试 eval() 每个函数。
我也试过eval("return " + object.function)
这可能吗?
【问题讨论】:
-
使用 eval 几乎总是一个坏主意。
-
你想达到什么目的?我的意思是这个问题背后的问题。
-
我正在尝试在网络工作者之间分配计算。但很多时候,直到我需要计算的那一刻,我才知道计算是什么。
-
你最好在master和worker中都需要你的计算库,只需将计算函数的名称传递给worker。然后,您可以通过
calcLibrary[funcName]();在 worker 中执行 calc 函数 -
@Jeff 这个图书馆是公开的吗?
标签: javascript browser node.js eval web-worker