调用变量中命名的jQuery函数

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (75)

我有几个jQuery函数,如function setOne(); setTwo(); setThree();

和一个变量var number分别值“一”、“二”、“三”。

当数字值为“1”时,如何调用函数“setOne()”,当数字值为“2”时,如何调用函数“setTwo”,等等?

提问于
用户回答回答于

如果你的函数位于全局范围(在窗口对象上),则可以:

// calls function setOne, setTwo, ... depending on number.
window["set" + number](); 

和使用eval将允许你在本地范围内运行函数:

eval("set" + number + "()");
用户回答回答于

创建一个name -> function map

var funcs = {
    'one': setOne,
    'two': setTwo
    /*...*/
};

然后用以下方法调用该函数:

funcs[number]();

扫码关注云+社区

领取腾讯云代金券