判断函数function a()
下面那个效率更好
if(typeof(a)!="undefined"){
   a();
}
还是
try{
  a();
}catch(e){}我认为 try catch效率会差一些 ,可今天在做一个东西时 反而感觉try catch好像快一点呢。
或者大家有没有其它判断一个函数是否存在的更好方法

解决方案 »

  1.   

    function a(){};
    alert(Object.prototype.toString.apply(a));
      

  2.   

    一般的js框架都是用楼上的方法,判断返回值是否是"[object Function]"
      

  3.   

    function fn(){};
    alert(Object.prototype.toString.apply(typeof fn != "undefined" ? fn : false) == "[object Function]");
      

  4.   

    速度应该差不多吧。不过,我也喜欢用try catch的形式