【发布时间】:2018-08-13 23:16:49
【问题描述】:
我将函数体存储在带有函数名的字符串中。
function fnRandom(lim){
var data=[];
for(var i=0;i<lim;i++)
{
data=data.concat(Math.floor((Math.random() * 100) + 1));
}
return data;
}
从下拉列表中选择 functionName 后,我使用 eval 来执行函数体。
JSON.stringify(eval(this.selectedFunction.body));
我想将 'lim' 传递给此执行,或者我可以使用 functionName 作为启动点以某种方式执行吗?
【问题讨论】:
-
改用
Function构造函数。 -
Function(this.selectedFunction.body) 在实际函数周围给出函数匿名(){},我的问题与将数据传递给此函数有关
-
this.selectedFunction是否包含有关参数的任何信息?如果不是,这将很困难,因为无法知道主体中哪些未声明的变量是参数还是全局变量。 -
其实确实需要验证参数;也许我应该发送一个 Json 对象并对此进行处理
-
如何按照 NODE-RED 的功能节点的方式进行操作。有人知道吗?
标签: javascript parameter-passing eval