測試功能在函數內我需要測試是否存在另一個變量函數,然後在它調用時調用它。從變量
function div1_load(){
// do something
}
function main(id){
var func = id + '_load';
if (func is function) {
func.call();
}
}
main('div1');
我可以考慮兩種測試方法,但都涉及eval(),我想避免這兩種方法。
- 的typeof的eval(FUNC)=== '功能'
- 的eval( 'typeof運算(' +功能+ ')')=== '功能'
有沒有一種方法使用eval()? 如果不是,我的兩種方法中哪一種最安全?
爲什麼它需要是一個變量?它可以有不同的值嗎?如果是這樣,爲什麼函數是全局的而不是數據結構的成員(例如'{div1_load:function(){...},div2_load ....}' – Quentin
[如何執行JavaScript函數當我有一個字符串的名稱](http://stackoverflow.com/questions/359788/how-to-execute-a-javascript-function-when-i-have-its-name-as-a-string) – 2012-06-20 12:05:50
典型的發佈後發現答案@Quentin:div1_load()並不總是被定義的,並且沒有數據結構,因爲它保持簡單 – Kim