我有一個對象作爲data
附加到DIV。我也有一個字符串,其中包含該對象的函數的名稱。在不使用eval的情況下調用函數?
function callFunction(divId, funcName, data) {
o = $(divId).data('myObject');
// how do I call o.funcName(data) ???
// Somewhere else...
callFunction('#myDivId', "myFunction", someData);
的divId
和funcName
實際上是從網頁上的Java小程序,這就是爲什麼他們是字符串的到來。
您必須使用eval()將字符串轉換爲對象,否則它只是一個字符串。但要注意圍繞使用eval() – cusimar9 2011-05-17 14:26:55
的安全問題我想你想'o [funcName](data)'。 – pimvdb 2011-05-17 14:28:05
可能重複[如何執行一個JavaScript函數,當我有它的名字作爲字符串](http://stackoverflow.com/questions/359788/how-to-execute-a-javascript-function-when-i-have - 將它命名爲字符串) – outis 2012-04-25 01:21:25