将字符串(以前是函数)转换为Javascript函数

时间:2015-12-29 14:39:56

标签: javascript function

我想将一个现在为字符串的函数转换为Function。

这会返回错误,有任何建议吗?



var a = 'function () { return "a"; }'.trim();

console.log(a);

var b = eval(a);




1 个答案:

答案 0 :(得分:2)

A"解决方案" would be to add parenthesis around the string,以便评估表达式:



var a = 'function () { return "a"; }'.trim();

console.log(a);

var b = eval('('+a+')');




但在设计糟糕之后,你很清楚。没有问题应该以这种方式解决。

请注意,使用Function构造函数(无法访问局部变量)比使用eval稍微安全一点:

var fun = new Function('return "a";')