在函数内部,我需要测试是否存在另一个变量函数,如果存在则调用它。
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(' + func + ')') === '函数'
有没有办法不使用 eval() ?如果不是,我的两种方法中哪一种最安全?