我将基于情境的参数中的函数A或B的名称传递给另一个函数C.如何在函数C中调用它?
答案 0 :(得分:2)
如果全局定义A
,则window["A"]()
。但是,没有必要在javascript中这样做。只需传递函数本身而不是名称:
function foo() {...}
// BAD
function callFunc(someName) { window[someName]() }
callFunc("foo")
// GOOD
function callFunc(someFunc) { someFunc() }
callFunc(foo)
答案 1 :(得分:2)
像这样:
window[varName]()
假设它在全球范围内
如果你有
function A() {}
function B() {}
然后你可以做
function C(parm) {
parm();
}
如果您使用C(A)
或C(B)
<强> DEMO 强>
答案 2 :(得分:2)
您可以将函数分配给对象的属性。然后在执行函数中,根据传递给函数的参数,按名称引用属性。
var myFuncs = {
a: function(){
alert("Hello");
},
b: function(){
alert("Goodbye");
}
};
function execute(name){
myFuncs[name]();
}
execute("a");
execute("b");