Jquery未定义函数停止其他操作

时间:2016-05-18 04:42:45

标签: javascript jquery

为什么未定义的函数会停止其他操作?

  var element=$(".case");
  element.animate({height:"1000px"},200,function(){
   element.removeAttr("style");
   callback();
  });

由于callback()是未定义的函数,element.removeAttr("style")将无效。为什么会这样?只是好奇。

否则我会用

if($.isFunction(callback)){
 callback();
}

https://jsfiddle.net/xpdtL0yr/

1 个答案:

答案 0 :(得分:2)

是的,你是对的,你必须在调用回调之前检查一下这个功能, 您应检查名称是否存在,然后检查它是否为函数,如下所示:

if(typeof  callback !== 'undefined' && $.isFunction(callback)){
         callback();
        }

JsFiddle