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

如何在不使用eval()的情况下将完整函数字符串转换为javascript函数,javascript,jquery,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()。您可以将变量字

我有一个可变的字符串,比如

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()。

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

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

我认为这提供了您所需要的,但是没有定义
anuj.
,我无法成功运行测试。

如果您将它从JSON对象连接起来,您可以使用JSON.parse将其转换为一个对象,允许您将其作为对象的方法调用。

删除引号。哈哈哈,只是开玩笑而已。忍不住,太棒了,扎克,谢谢你。