如何使用javascript或jquery来运行放置在数组中的函数

how to use javascript or jquery for running functions that are placed in an array

本文关键字:数组 函数 运行 javascript 何使用 jquery      更新时间:2023-09-26

我有一个JavaScript数组,其中包含150个JavaScript函数(这些函数返回财务指标)。当我加载页面时,我得到了这个数组。我想知道是否可以在该页面上使用这些加载的函数?

我已经将我的数组转换为字符串,下面的图片显示了它在警报模式下的样子:

arry警报模式http://bsl.site40.net/pic/8cdf49ea54ee.jpg

在上图中,(函数a,b,c)是我的函数发生的地方,有150个函数(字符串{"itemCode":___},每次我调用函数时都会重新赋值)。我认为应该有一些字符串替换,然后以某种方式插入该页面上的函数。嗯,我不知道。你能帮我吗?我还有一个问题:javascript数组是否可能很长(例如20000个字符)?

编辑:我的数组有完整的函数代码。在那张照片中,我只显示了他们的名字,以便照片可以查看

我建议您使用json对象而不是数组,这样查找起来会更容易。如果继续使用数组,则必须在数组上循环才能找到正确的函数名/函数。

如果您的json对象包含全局声明的函数名,则可以像以下一样调用它们

var functionName = "myFunc";
window[functionName]();

但您可能不应该全局声明函数,而是将它们存储在某种名称空间中。

如果您的json对象包含实际的函数(我建议这样做),您可以用调用它

var functionName = "myFunc";
myObject[functionName]();

如果你的对象包含字符串形式的函数代码,你必须对其进行求值才能执行它。你的函数需要用括号括起来,我不建议使用这种方法!您最好使用某种jsonp动态加载函数。

var functionName = "myFunc";
var myFunc = eval('(' + myObject[functionName] + ')');
myFunc();

一个数组最多可以包含4294967296个元素,但在达到这一点之前,您的性能就已经被抹杀了,我不太确定json对象是否很难。

如果函数存储为字符串,则可以使用函数eval(字符串)。但不建议这样做。如果使用这样的括号(functionName)将它们存储为对象就足够了。