Javascript 将函数名定义为动态

Javascript 将函数名定义为动态,javascript,jquery,function,Javascript,Jquery,Function,我的站点中有一个动态元素和功能。 每个动态生成的元素都有不同的功能,但所有元素的函数名都相同。我在替换回调函数中的值时遇到了问题 所以我需要将函数名定义为动态的 我不知道这在javascript/jquery中是否可行。 : 这是我的需要 是否有任何可能性/其他方式来满足这一需求 提前感谢…您可以定义一个函数,而不是一堆具有不同名称的类似函数,该函数将根据传递的count参数改变其行为: function test(count) { // alter behavior depending

我的站点中有一个动态元素和功能。 每个动态生成的元素都有不同的功能,但所有元素的函数名都相同。我在替换回调函数中的值时遇到了问题

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

我不知道这在javascript/jquery中是否可行。 :

这是我的需要

是否有任何可能性/其他方式来满足这一需求


提前感谢…

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

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

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

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

function name() {}
等于

window.name = function() {}
以及

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

var function_name = 'na' + 'me';
window[function_name] = function() {}
这应该可以回答您的问题。

定义

function name() {}
等于

window.name = function() {}
以及

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

var function_name = 'na' + 'me';
window[function_name] = function() {}
这应该能回答你的问题。

你可以试试这个

定义

var count=1;
for(;count<5;count++)
{   
var name="test_name"+count;
window[name] = new Function('alert( "Inside '+name+'")');
}
var计数=1;
对于(;count您可以试试这个

定义

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

对于(;count你想实现什么?听起来有点含糊不清,我很确定你试图用艰难而不恰当的方式来实现它
window[test+count()]()
是的,有很多方法可以做到。搜索“Javascript中的变量”。但这听起来真的是个糟糕的主意。肯定有更好的解决方案,但不清楚您的上下文是什么。没有办法在函数声明中使用动态标识符。但我很确定,这是一个可能存在的解决方案。不,您不需要,您可以轻松使用闭包。但是如果您不告诉我们这个问题m、 我们无法为您提供一个合适的解决方案。您想实现什么?听起来有点含糊不清,我很确定您试图以艰难而不恰当的方式来实现它
window[test+count()]()
是的,有很多方法可以做到这一点。搜索“Javascript中的变量”。但这听起来真的是个糟糕的主意。肯定有更好的解决方案,但不清楚您的上下文是什么。没有办法在函数声明中使用动态标识符。但我很确定,这是一个可能存在的解决方案。不,您不需要,您可以轻松使用闭包。但是如果您不告诉我们这个问题m、 我们无法为您提供合适的解决方案。、.和
窗口
属性始终是全局的,您不应该这样做。@Radek感谢您的回复和时间。我以这种方式更新和检查。@shijin:“工作”并不意味着“答案是正确的”。声明等于赋值肯定不是真的。@Bergi我只是检查一下他的例子:)@Bergi对于大多数意图和目的来说,它们在给定的上下文中几乎是相同的。是的,存在差异,但答案的要点是提出的问题的解决方案。,,,
window
properties总是全局的,您不应该这样做。@Radek感谢您的回复和时间。我用这种方式更新和检查。@shijin:“工作”并不意味着“答案是正确的”。声明等于赋值肯定是不正确的。@Bergi我只是检查一下他的例子:)@Bergi在大多数情况下,它们在给定的上下文中几乎相同。是的,存在差异,但答案的要点是提出问题的解决方案。除了语法更改之外,这与前面的
window[name]=function(){alert(“hello world”);}有何不同
style answers?除了语法更改之外,这与以前的
window[name]=function(){alert(“hello world”);}
style answers有何不同?