如何动态生成JS函数并将其存储在变量中?

时间:2018-10-18 08:36:21

标签: javascript

假设您动态生成JS函数的主体,或者从数据库中检索它,并且想要生成相关的函数并将其分配给对象的属性。

到目前为止,我已经尝试过eval(),但是除了将函数分配给值之外,它还执行它。有更好的方法吗?

1 个答案:

答案 0 :(得分:3)

可以使用Function构造函数,但不能

var function_body = "var d = b + c; return a + d;";
var my_function = new Function("a", "b, c", function_body);
console.log(my_function(2, 4, 6));  // 12

这是一个糟糕的主意eval是邪恶的,无论使用在哪里,都几乎引入了许多安全漏洞。 eval的任何形式都应避免,例如瘟疫。