将函数名称定义为动态

时间:2014-04-01 13:28:18

标签: javascript jquery function

我的网站中有一个动态元素和功能。 每个动态生成的元素具有不同的功能,但我具有相同的所有元素的功能名称。我有问题要替换回调函数中的值。

所以我需要将函数名称定义为动态。

我不知道javascript / jquery中是否可能。 :

var count= 1;

...
...

  function test+count() { // Here count will be replacing the value of count variable

    ...
    ...
  }


...
...
count++;
...
...

这是我的需要。

有没有可能/其他方法来满足这种需求?

提前致谢...

3 个答案:

答案 0 :(得分:3)

定义

function name() {}

等于

window.name = function() {}

window['name'] = function() {}

var function_name = 'na' + 'me';
window[function_name] = function() {}

这应该回答你的问题。

答案 1 :(得分:2)

您可以定义一个根据传递的count参数更改其行为的单个函数,而不是一堆具有不同名称的类似函数:

function test(count) {
    // alter behavior depending on count value
}

答案 2 :(得分:0)

你可以试试这个,

<强>定义

var count=1;
for(;count<5;count++)
{   
var name="test_name"+count;
window[name] = new Function('alert( "Inside '+name+'")');
}

动态调用

for(count=1;count<5;count++)
{   
 window["test_name" + count]();
}   

Demo