我将函数A或B的名称传递给一个基于该情况的参数传递给另一个函数C.如何在函数C中调用它?如何调用名称在字符串中定义的函数?
0
A
回答
2
如果全局定义了A
,则定义为window["A"]()
。但是,没有必要在javascript中这样做。只要传递函数本身,而不是它的名字:
function foo() {...}
// BAD
function callFunc(someName) { window[someName]() }
callFunc("foo")
// GOOD
function callFunc(someFunc) { someFunc() }
callFunc(foo)
2
像这样:
window[varName]()
假设它在全球范围内
如果你有
function A() {}
function B() {}
那么你就可以做
function C(parm) {
parm();
}
如果你C(A)
调用或C(B)
2
您可以将功能分配给一个对象的属性。然后在你的执行函数中,通过给定传递给函数的参数的名称来引用属性。
var myFuncs = {
a: function(){
alert("Hello");
},
b: function(){
alert("Goodbye");
}
};
function execute(name){
myFuncs[name]();
}
execute("a");
execute("b");
相关问题
- 1. 使用Clojure中函数名称的字符串调用函数
- 2. 如何在perl中调用在文字字符串中定义的函数名称?
- 3. 如何使用R中函数名称的字符串调用函数?
- 4. 调用存储在字符串变量中的函数名称?
- 5. 在java中调用基于字符串名称的函数
- 6. LUA:使用其名称(字符串)在类中调用函数
- 7. 基于包含函数名称的字符串调用函数
- 8. 如何在调试字符串函数中获取函数名称?
- 9. 在函数中定义字典名称
- 10. Java:如何调用其名称存储在字符串变量中的函数
- 11. 如何调用函数名称引用一个字符串值在VB中
- 12. 在Awk中,如何通过使用字符串名称来调用函数?
- 13. 使用字符串名称在$(document).ready函数中调用javascript函数
- 14. Angular 2:从字符串名称中调用函数
- 15. 如何定义一个名称等于字符串的javascript函数
- 16. 如何在Python中获取函数名称作为字符串?
- 17. 如何调用名称存储在字符串中的方法?
- 18. C#如何使用其名称的字符串调用不同的函数?
- 19. 如何在调用之前确定用户定义的函数参数名称?
- 20. 将函数调用字符串解析为名称和参数
- 21. 数组到字符串转换 - 变量函数名称调用
- 22. 以字符串形式给出的名称调用函数
- 23. 通过字符串名称的JavaScript函数调用
- 24. 获取调用的函数名称作为字符串
- 25. typeof调用函数的名称作为字符串传递
- 26. 从f的名称作为字符串调用函数#
- 27. 从Window对象的字符串名称调用函数
- 28. 在magrittr中应用字符串名称的函数引用
- 29. 使用字符串调用JavaScript函数名称?
- 30. Lua使用其名称调用函数(字符串)
是的,很多重复,但没有明确的答案为止(这是“坏主意,不这样做”)。 – georg 2013-04-11 09:20:15