如何在不使用eval()的情况下将完整的函数字符串转换为javascript函数

时间:2015-07-01 16:12:43

标签: javascript jquery

我有一个像

这样的可变字符串
var z = "anuj.working = false;anuj.downloadFile(event,'opp-for-download','anuj@anuj Demo Guide For Partners.pdf.zip (5.3 MB)','/file/dam/mail Anuj@anuj @Anuj  Demo Guide For Partners.pdf.zip','zip',null)";

如何将其转换为函数。我不想使用eval()。

2 个答案:

答案 0 :(得分:0)

您可以将变量字符串声明为新函数,然后调用该函数:

var func = new Function(theFunctionString);
func();

我认为这会提供您正在寻找的内容,但如果没有anuj.定义,我就无法成功进行测试。

答案 1 :(得分:0)

如果以与JSON对象相同的方式连接,可以使用JSON.parse将其转换为允许您将其作为对象方法调用的对象。