[英]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.