Javascript中函数调用中的变量名称

Variable name in function call in Javascript

本文关键字:变量名 函数调用 Javascript      更新时间:2023-09-26

我正在尝试实现以下伪代码:

function processAboutLink(){
}
function processServicesLink(){
}
var variableName = 'about';
process + variableName + Link();
var variableName = 'services';
process + variableName + Link();

我知道上面的代码不是真实的,而是一种逻辑表示。谁能指出我正确的方向?

拥有一个对象会更方便,因为您可以动态访问属性:

var processLinkFunctions = {
  about:    function() { ... },
  services: function() { ... }
};

然后,它就像

processLinkFunctions[variableName]();

这与processLinkFunctions.about()如果variableName === "about"基本相同。

您可能希望使用对象文本来调整命名空间

var process = {
    services: function(){...},
    about: function(){...}
}

然后打电话给他们:

process[variable]();

如果你使函数成为对象的属性,你可以按名称调用它们(并且不诉诸eval

var functions = {
    about: function() { ... },
    services: function() { ... }
};
var name = 'about';
functions[name]();

EDIT 不要使用 eval。这似乎是危险的,并导致未定义的行为。

错误答案:

eval('process' + variableName + 'Link()');

应该工作