Javascript将未知名称函数推入数组

Javascript将未知名称函数推入数组,javascript,arrays,function,Javascript,Arrays,Function,我正在尝试制作一个新闻系统。 我有一个表,其中每个元素都是生成文本的函数 我有一个循环,检查news+number是函数还是未定义。 如果它是一个函数,那么我将news+number推送到数组[number] 我使用eval,因为我不知道还有什么其他方法可以将函数名和数字推送到数组中 代码: 注意:这是我的系统中的一个代码段,它将函数推送到数组中 对不起,我的英语不好。我想你在找窗口[“新闻”+数字](或类似)。任何全局变量都可以通过这种方式访问 否则,您可以使用数组而不是索引多个变量名。这是一

我正在尝试制作一个新闻系统。 我有一个表,其中每个元素都是生成文本的函数

我有一个循环,检查news+number是函数还是未定义。 如果它是一个函数,那么我将news+number推送到数组[number]

我使用eval,因为我不知道还有什么其他方法可以将函数名和数字推送到数组中

代码:

注意:这是我的系统中的一个代码段,它将函数推送到数组中


对不起,我的英语不好。

我想你在找
窗口[“新闻”+数字]
(或类似)。任何全局变量都可以通过这种方式访问


否则,您可以使用数组而不是索引多个变量名。

这是一个期望函数是全局函数的代码示例:

function addNews ()
{
    var counterArray = 0;
    var f = window["news1"];
    while (typeof f == "function")
    {
        //---------------sprawdzenie czy news istnieje----------
        f = window["news" + (counterArray+1)];
        if (typeof f == "function")
        {
            //------------jest news
            tablicaNewsow.push(f);
        }
        counterArray++;
    }
}

您可以使用以下方法引用当前作用域中的函数名:

或者,如果您位于对象内部,但知道函数位于全局范围内,则可以使用Windows:


当然,,你也许应该再想一想你为什么需要它!请不要评估!您可以使用对象并使用“类似数组”的表示法设置键:obj[key]
function addNews ()
{
    var counterArray = 0;
    var f = window["news1"];
    while (typeof f == "function")
    {
        //---------------sprawdzenie czy news istnieje----------
        f = window["news" + (counterArray+1)];
        if (typeof f == "function")
        {
            //------------jest news
            tablicaNewsow.push(f);
        }
        counterArray++;
    }
}
if (typeof(this[fName]) == 'function') {
  this[fName]();
}
if (typeof(window[fName]) == 'function') {
  window[fName]();
}