如何调用名称在字符串中定义的函数?
这个问题在这里已经有了答案:
如果A
是全局定义的,那么window["A"]()
。 但是,没有必要在javascript中这样做。 只需传递函数本身而不是名称:
function foo() {...}
// BAD
function callFunc(someName) { window[someName]() }
callFunc("foo")
// GOOD
function callFunc(someFunc) { someFunc() }
callFunc(foo)
喜欢这个:
window[varName]()
假设它在全球范围内
如果你有
function A() {}
function B() {}
那么你可以做
function C(parm) {
parm();
}
如果你用C(A)
或C(B)
DEMO
您可以将函数分配给对象的属性。 然后在你的执行函数中,通过给定传递给函数的参数的名称来引用属性。
var myFuncs = {
a: function(){
alert("Hello");
},
b: function(){
alert("Goodbye");
}
};
function execute(name){
myFuncs[name]();
}
execute("a");
execute("b");
工作示例 http://jsfiddle.net/ud6BS/
链接地址: http://www.djcxy.com/p/94833.html上一篇: How to call a function whose name is defined in a string?