Javascript函数调用中的变量名

时间:2012-04-27 12:07:54

标签: javascript

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

function processAboutLink(){

}

function processServicesLink(){

}

var variableName = 'about';

process + variableName + Link();

var variableName = 'services';

process + variableName + Link();

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

4 个答案:

答案 0 :(得分:8)

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

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

然后,它就像:

一样简单
processLinkFunctions[variableName]();

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

答案 1 :(得分:4)

您可能希望将对象文字用于命名空间

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

然后打电话给他们:

process[variable]();

答案 2 :(得分:1)

如果你创建了一个对象的函数属性,你可以按名称调用它们(而不是诉诸eval!):

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

var name = 'about';
functions[name]();

答案 3 :(得分:-1)

编辑不要使用eval。它似乎很危险,导致不确定的行为。

错误答案:

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

应该有效