什么是jquery中`$(undefined)`的返回值

时间:2013-07-02 11:50:00

标签: javascript jquery

$(undefined)的返回值是一个对象或数组还是什么?

$的正文:

  return new jQuery.fn.init( selector, context, rootjQuery );

jQuery.fn.init的粒子体是:

  // HANDLE: $(""), $(null), $(undefined), $(false)
  if ( !selector ) {
          return this;
  }

我的理解是:

 return new jQuery.fn.init( selector, context, rootjQuery );
            ~~~~~~~~~~
                ^
                |
               this?

3 个答案:

答案 0 :(得分:3)

没有。它与new keyword一起使用,因此jQuery.fn.并不重要。重要的是.prototypejQuery.fn。有关详细信息,请参阅this question

  

那么$(undefined)的返回值是什么?

这是一个继承自jQuery原型的空对象,因此它与Object.create($.fn)相同。

答案 1 :(得分:0)

结果是一个jQuery对象,它不包含任何匹配的DOM元素;即一个“空”的jQuery对象。

答案 2 :(得分:0)

$(undefined)将返回带有""选择器的jQuery实例。

使用此代码自行尝试:

var output = '';
var jq = $(undefined);

for(var x in jq) {
    output += x + ' => "' + jq[x].toString() + '"' + "\n";
}

alert(output);

示例输出有点像这样:http://pastebin.com/MwKYFM5w