関数内で、別の変数関数が存在するかどうかをテストし、存在する場合はそれを呼び出す必要があります。
function div1_load(){
// do something
}
function main(id){
var func = id + '_load';
if (func is function) {
func.call();
}
}
main('div1');
テストには2つの方法が考えられますが、どちらも避けたいeval()が関係しています。
- typeof eval(func)==='関数'
- eval('typeof(' + func +')')==='関数'
eval()を使用しない方法はありますか?そうでない場合、私の2つの方法のどちらが最も安全ですか?