I have always used (typeof variable === "function")
and I stumbled across jQuery.isFunction()
and I was wondering:
There is almost no difference, other than that using jQuery is slightly slower. See the source code:
isFunction: function( obj ) {
return jQuery.type(obj) === "function";
},
which calls a function which calls another function to determine the exact same thing as what you showed :P
There is literally no advantage to jQuery in this case [or for that manner, 90% of the use-cases of the library]. Look into Vanilla-JS and check out some of its features :P
TLDR: Don't use jQuery for this...or anything.
Here's a benchmark showing you that Vanilla JS is roughly 93% faster than jQuery: http://jsperf.com/jquery-isfunction-vs-vanilla-is-function.