考慮我有一個函數的名稱,它不需要在VAR任何說法有它的名稱來執行功能的方法 -是那裏,當我在一個字符串
var fn = "foo";
我可以在一些執行它或類似這樣的 -
eval(fn);
它不起作用。請建議。
我的函數定義看起來就像這樣 -
function foo() {
....do something....
}
考慮我有一個函數的名稱,它不需要在VAR任何說法有它的名稱來執行功能的方法 -是那裏,當我在一個字符串
var fn = "foo";
我可以在一些執行它或類似這樣的 -
eval(fn);
它不起作用。請建議。
我的函數定義看起來就像這樣 -
function foo() {
....do something....
}
試試這個
eval(fn)();
或本
eval(fn + "()");
eval被認爲是邪惡的。它會工作,但沒有必要,應該避免 – mplungjan 2013-04-24 05:04:42
@mplungjan,我想我從EE日知道你:)。無論如何,如果要評估的字符串是由用戶輸入的,則eval是邪惡的,否則它應該很好地禁止字符串被編譯然後執行的事實。 – gurvinder372 2013-04-24 05:10:52
當然 - 但不要使用它比使用它更好,而不是使用更合適的方法 - 是的,我們彼此認識;) – mplungjan 2013-04-24 05:12:42
不FN()工作? – Virus721 2013-04-24 04:54:09
還有其他方法可以在運行時決定一個函數。你絕對需要一個字符串的名字? – michaelb958 2013-04-24 04:54:12