我根据情况将参数中的函数 A 或 B 的名称传递给另一个函数 C。如何在函数 C 中调用它?
问问题
166 次
3 回答
2
您可以将函数分配给对象的属性。然后在您执行的函数中,通过给定传递给函数的参数的名称引用属性。
var myFuncs = {
a: function(){
alert("Hello");
},
b: function(){
alert("Goodbye");
}
};
function execute(name){
myFuncs[name]();
}
execute("a");
execute("b");
于 2013-04-11T09:10:06.523 回答
2
如果A
是全局定义的,那么window["A"]()
. 但是,没有必要在 javascript 中这样做。只需传递函数本身而不是其名称:
function foo() {...}
// BAD
function callFunc(someName) { window[someName]() }
callFunc("foo")
// GOOD
function callFunc(someFunc) { someFunc() }
callFunc(foo)
于 2013-04-11T09:08:41.867 回答
2
像这样:
window[varName]()
假设它在全球范围内
如果你有
function A() {}
function B() {}
那么你可以做
function C(parm) {
parm();
}
如果你用C(A)
or调用它C(B)
于 2013-04-11T09:08:52.670 回答