繁体   English   中英

将参数传递给使用javascript中的new function关键字创建的函数

[英]Passing arguments to a function which is created using the new function keyword in javascript

我正在使用new Function()将字符串转换为函数表达式。

它工作正常,但是我需要将参数传递给函数。 怎么做?

我正在从JSON文件读取字符串。

var act = new Function("Hosting.Click()");
act();

假设确实没有更好的方法可以做到这一点

您将需要解析包含代码的字符串,并在其中替换参数。

例如,如果模式始终是方法调用,则可以在括号中将其拆分,然后在其中加入参数。 但是,如果始终是函数调用,则最好拆分出部分并直接调用函数(这将使您有机会确保字符串符合您的期望)。

尝试这个-

使用arg1创建新函数,然后通过传递此参数来调用Hosting.Click()

 var Hosting={Click:function(){ alert(JSON.stringify(arguments)); }} var act = new Function("arg1","Hosting.Click(arg1)"); act("Value for argument 1"); 

更新:-

对于任何参数-

var act2 = new Function("Hosting.Click.apply(window,arguments)");
act2("any no of arguments",1,2,3,4,5,"Hi");

演示

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM