jQuery API

jQuery.isFunction()

jQuery.isFunction( obj ) Returns: boolean

Description: Determine if the argument passed is a Javascript function object.

  • version added: 1.2jQuery.isFunction( obj )

    objObject to test whether or not it is a function.

Note: As of jQuery 1.3, functions provided by the browser like alert() and DOM element methods like getAttribute() are not guaranteed to be detected as functions in browsers such as Internet Explorer.

Examples:

Example: Test a few parameter examples.

<!DOCTYPE html>
<html>
<head>
  <style>
  div { color:blue; margin:2px; font-size:14px; }
  span { color:red; }
  </style>
  <script src="http://code.jquery.com/jquery-latest.js"></script>
</head>
<body>
  
  <div>jQuery.isFunction(objs[0]) = <span></span></div>

  <div>jQuery.isFunction(objs[1]) = <span></span></div>
  <div>jQuery.isFunction(objs[2]) = <span></span></div>
  <div>jQuery.isFunction(objs[3]) = <span></span></div>

  <div>jQuery.isFunction(objs[4]) = <span></span></div>
  
<script>
    function stub() {
    }
    var objs = [
          function () {},
          { x:15, y:20 },
          null,
          stub,
          "function"
        ];

    jQuery.each(objs, function (i) {
      var isFunc = jQuery.isFunction(objs[i]);
      $("span").eq(i).text(isFunc);
    });
</script>

</body>
</html>

Demo:

Example: Finds out if the parameter is a function.

$.isFunction(function(){});

Result:

true

Support and Contributions

Need help with jQuery.isFunction() or have a question about it? Visit the jQuery Forum or the #jquery channel on irc.freenode.net.

Think you've discovered a jQuery bug related to jQuery.isFunction()? Report it to the jQuery core team.

Found a problem with this documentation? Report it to the jQuery API team.

* All fields are required
  • bx166er

    Here's another example…
    If I have a function like this:

    jQuery.loadImages = function() { ... function here ... };

    Then to test whether the jquery function exists, i would use:

    if(jQuery.isFunction(jQuery.loadImages)) {alert('yes');} else alert('no');

  • http://www.google.com/profiles/cimiak Michal Čizmazia

    Could you provide a brief explanation of the difference between $.isFunction(f) and typeof f === “function”?

  • http://www.google.com/profiles/cimiak Michal Čizmazia

    Could you provide a brief explanation of the difference between $.isFunction(f) and typeof f === “function”?

  • http://kflorence.myopenid.com/ Kyle Florence

    In certain situations in some browsers, things are incorrectly returned as the “function” type, or things that are in fact functions are returned as another type. There are several test cases you can see here: https://github.com/jquery/jque…

    One example:

    var obj = document.createElement(“object”);

    // Firefox says this is a function
    typeof obj; // => “function”

    Keep in mind these are mostly edge cases, but the reason $.isFunction was made was simply to be positive about something being a function (which can be quite important for the jQuery library itself, maybe not so much for your code).