我將函數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