gpt4 book ai didi

javascript - js中可以根据变量调用函数吗?

转载 作者:行者123 更新时间:2023-11-28 21:18:48 24 4
gpt4 key购买 nike

我有一个像这样的冗长的 switch case 语句

switch(x){
case "a":
// call function a
a():
break;
case "b":
// call function b
a():
break;
case "c":
// call function c
c():
break;
}

我不能简单地说

// If the x variable is set, call the corresponding function
If (x){
x();
}

它不起作用的唯一原因是它认为我正在调用函数 x(),但我想使用 x 作为其他函数的占位符。这可能吗?

最佳答案

创建您要调用的函数的缓存:

var fnCache = {
a: function(){},
b: function(){},
c: function(){}
};

然后在您的代码中:

  // x is assigned a value somehow
var x = 'a';

// ... later ...

if (typeof fnCache[x] == 'function') {
fnCache[x]();
}

假设所有函数都是 native 函数而不是宿主方法(请参阅 Mrchief 帖子的评论)。

关于javascript - js中可以根据变量调用函数吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6920724/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com