Javascript 什么';s jquery中`$(未定义)`的返回值
Javascript 什么';s jquery中`$(未定义)`的返回值,javascript,jquery,Javascript,Jquery,$(未定义)的返回值是对象或数组还是什么 $的主体: return new jQuery.fn.init( selector, context, rootjQuery ); jQuery.fn.init的粒子体是: // HANDLE: $(""), $(null), $(undefined), $(false) if ( !selector ) { return this; } 我的理解是: return new jQuery.fn.init( sel
$(未定义)
的返回值是对象或数组还是什么
$
的主体:
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?
不,它与一起使用,所以jQuery.fn.
不重要。重要的是它的.prototype
,即jQuery.fn
。有关详细信息,请参阅
那么$(未定义)
的返回值是多少
它是从jQuery的原型继承的空对象,因此与对象相同。create($.fn)
结果是一个jQuery对象,它不包含任何匹配的DOM元素;i、 e.一个“空”jQuery对象。$(未定义)
将返回一个带有选择器的jQuery实例
请使用以下代码亲自尝试:
var output = '';
var jq = $(undefined);
for(var x in jq) {
output += x + ' => "' + jq[x].toString() + '"' + "\n";
}
alert(output);
示例输出有点像这样:否,空字符串实际上不是选择器-它的处理方式类似于未定义的
:-),因此$(未定义的)
将未定义的
截断为”
?它们都将被视为“无选择器”-结果甚至不是空集合(具有length
0、context
和selector
properties)但为空对象,没有任何属性。