(typeof variable ==="function")和jQuery.isFunction()之间有什么区别?

Aus*_*ust 7 javascript jquery function typeof

我一直在使用(typeof variable === "function"),我偶然发现jQuery.isFunction(),我在想:

  1. typeof方法和jQuery的方法有什么区别?而且不仅仅是差异,而是
  2. 什么时候使用typeof方法是合适的,什么时候适合使用jQuery的方法?

Lus*_*ian 10

目前几乎没有区别,比使用jQuery等稍慢.查看源代码:

isFunction: function( obj ) {
    return jQuery.type(obj) === "function";
},
Run Code Online (Sandbox Code Playgroud)

它调用一个调用另一个函数的函数来确定与你所展示的完全相同的东西:P

在这种情况下,jQuery实际上没有优势[或者以这种方式,90%的库用例].看看Vanilla-JS并查看它的一些功能:P

TLDR:不要为此使用jQuery ......或任何东西.

UPDATE

这是一个基准测试,向您展示Vanilla JS比jQuery快约93%:http://jsperf.com/jquery-isfunction-vs-vanilla-is-function.

  • *jQuery稍慢*^ _ ^ (5认同)