javascript - 给定一个字符串格式的函数,我如何将它转换回 javascript 中的函数?

标签 javascript node.js string function eval

<分区>

假设我在 javascript 中有一个函数

var fn = function () {
        return 6 + 5;
};

然后我做

fn.toString();

返回

"function () { return 6 + 5; }"

我怎样才能把它转回一个函数并最终在稍后调用它。正如其他人所说,我已经尝试过 eval 但这似乎对我不起作用。任何帮助将不胜感激!!!

最佳答案

你可以给这个函数起一个名字,然后你就可以调用它了。这应该有效

var fn = function () {
    return 6 + 5;
};
var stringFunc = fn.toString();

eval("var newfn = " + stringFunc);
console.log(newfn())

你也可以像这样传递参数执行它

console.log(eval("("+stringFunc+")()"))

关于javascript - 给定一个字符串格式的函数,我如何将它转换回 javascript 中的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31797707/

相关文章:

java - 棋子表和绳子的时间复杂度

javascript - 获取元素内按下按钮的按钮文本

javascript - 自定义 Jquery 函数(显示/隐藏)的问题

javascript - ng-click 适用于所有 ng-repeat 元素

php - javascript子串提取

string - 为什么我的代码在我的字符串后打印一个重复的垃圾字符?

javascript - 使用保留关键字作为带有扩展运算符的对象键

c++ - 通过事件触发调用 JS 函数

node.js - 你如何使用 node --trace-warnings 运行 nx serve?

node.js - 导入 Node 模块会产生错误