没有参数的JQuery

Sam*_*uel 1 javascript jquery

我最近使用了由Ryan Niemeyer创建的knockoutjs和kendo UI的精彩绑定,我尝试找出javascript代码中的一些功能.

当我们没有传递这样的参数时,JQuery究竟做了什么:

if (!$()["kendoComboBox"]) {
   ...
}
Run Code Online (Sandbox Code Playgroud)

rai*_*7ow 5

基本上,这会检查插件的可用性.$()创建一个'empty'(即没有包含DOM元素)的jQuery对象,然后kendoComboBox检查它的属性.如果它的值是假的,或者属性没有定义(在对象本身或在其原型链中),则执行分支.

但是,我真的不确定它比直接检查jQuery.prototype更好:

if (!('kendoComboBox' in $.fn)) {
  ...
}
Run Code Online (Sandbox Code Playgroud)