我怎麼能執行一個JavaScript函數,這樣的:執行功能串
cursor.continue(parameters)
使用字符串識別功能名稱,使用eval
沒有?像這樣:
cursor.callMethod("continue", parameters);
這可能嗎?
我怎麼能執行一個JavaScript函數,這樣的:執行功能串
cursor.continue(parameters)
使用字符串識別功能名稱,使用eval
沒有?像這樣:
cursor.callMethod("continue", parameters);
這可能嗎?
是的,您可以使用方括號表示法。
cursor["continue"](parameters)
cursor["continue"]
是完全一樣cursor.continue
。
是的,你可以調用函數像這樣:
cursor["continue"](parameters);
如果你是在callMethod
控制和功能屬於一個對象或全球性的,那麼是的,這是可能的。
例如,如果目標函數是同一個對象的方法,其中callMethod是:
var cursor = {
callMethod: function(method, params) {
this[method].apply(this, params);
},
continue: function() {}
}
cursor.callMethod("continue", [1, 2, 3]);
不幸的是,'cursor'是一個IndexedDB遊標,所以techfoobar的解決方案更合適,但對於我的示例方法的文字實現肯定是+1。 – CodingIntrigue
@MelanciaUK:我不認爲這是問題的一個副本。 – Ian
@我已經收回了我的投票。乾杯。 – melancia