javascript - 计算函数

标签 javascript browser node.js eval web-worker

我正在尝试创建一个小型库,您可以发送一个对象(具有函数)和一些数据以及参数,它会将对象、数据和参数发送到工作进程,然后工作进程将评估该对象重构函数(从字符串到函数)

目前我有这个:

JSON.stringify(对象, 函数(key, val) { if typeof val === 'function' { return val + '' } 返回值 });

此函数将字符串化包含函数的对象。

在我的工作人员中,我试图撤消此过程。

我尝试过以下方法: 评估(对象) 当我遇到一个函数时,我还尝试通过尝试 eval() 来实现 JSON.parse。

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

这可能吗?

最佳答案

您可能想要:

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

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

function() {} 被评估为函数声明,但由于没有名称而失败。由于要解析的数据代表一个函数表达式,例如var f = function() {},因此您需要在其周围放置(),以便将其计算为表达式。

关于javascript - 计算函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7823272/

相关文章:

javascript - 如何使用 JAVASCRIPT 定位 div 的第二个子元素

javascript - 如何在 JavaScript 中调用属性(如方法)

java - 使用 Java 的浏览器小程序中的 Web 浏览器

javascript - 如何在 JavaScript 中检测 native 浏览器/引擎对象

javascript - 获取波斯月的最后一天 + 解决方案

Javascript - 拖拽和克隆 Javascript

android - 是否有任何 Android 浏览器引用/文档?

javascript - 如何让 CommonJS 模块执行它的 main()(就像在 Python 中一样)?

node.js - 带有 SSL 和 nodejs 的亚马逊 ELB

node.js - res.render 中的 req.param 导致奇怪的控制台日志