我已經構建了一個GUI,它傳入一個長JS對象作爲動畫插件的設置。其中一個設置允許用戶在動畫完成後調用一個函數。不幸的是,它必須作爲一個字符串傳遞給JS對象。避免EVAL並通過此功能?
... [ 'functioncall()' ] ......
在我的動畫回調中,我檢索這個字符串並試圖將其作爲函數運行。
第一次嘗試的作品完美,但使用eval ...
eval(OS.path_jscall[index].path_jscall[0][i])
我設置一個更優選的方法,像這樣:
var HookFunction=new Function(OS.path_jscall[index].path_jscall[0][i]);
HookFunction();
兩個例子都完全調用functioncall()函數。我不知道如何(這)傳遞給functioncall()雖然...
functioncall(obj){ console.log(obj); };
一切都不斷提到窗口。有任何想法嗎?謝謝!
可能重複的[Javascript:如何設置「this」變量很容易?](http://stackoverflow.com/questions/456967/javascript-how-to-set這個變量很容易) – 2012-04-25 00:23:41
「它必須作爲一個字符串傳遞給JS對象」爲什麼? – outis 2012-04-25 01:16:39