一尘不染

Javascript-函数名称中的变量,可以吗?

javascript

我希望这个问题不是太简单,但是我不知道:(

如何在函数名称中使用var启动函数?

例如 …

我的职能

function at_26();
function at_21();
function at_99();

启动功能

var test_id = 21;   
at_'+test_id+'();   // doesn't work

我希望有人能帮助我。

提前致谢!彼得


阅读 246

收藏
2020-05-01

共1个答案

一尘不染

将函数存储在一个对象中,而不是使其成为顶层。

var at = {
    at_26: function() { },
    at_21: function() { },
    at_99: function() { }
};

然后,您可以像访问其他任何对象一样访问它们:

at['at_' + test_id]();

您也可以直接从window对象访问它们…

window['at_' + test_id]();

……并避免将它们存储在一个对象中,但这意味着应该在全局范围内进行播放。

2020-05-01