Javascript将未知名称函数推入数组
我正在尝试制作一个新闻系统。 我有一个表,其中每个元素都是生成文本的函数 我有一个循环,检查news+number是函数还是未定义。 如果它是一个函数,那么我将news+number推送到数组[number] 我使用eval,因为我不知道还有什么其他方法可以将函数名和数字推送到数组中 代码: 注意:这是我的系统中的一个代码段,它将函数推送到数组中Javascript将未知名称函数推入数组,javascript,arrays,function,Javascript,Arrays,Function,我正在尝试制作一个新闻系统。 我有一个表,其中每个元素都是生成文本的函数 我有一个循环,检查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]();
}