jQuery 在接受参数时创建函数实例。在这种情况下,您发送了一个选择器,它是元素的 id。收到此选择器后,jquery 使用new
“内部”jquery 函数上的关键字。结果是一个函数对象。每次您使用$
或jQuery
向它询问一个 jquery 对象时,该对象是new
发出给 jQuery 函数的结果。这个对象附加了很多东西,包括匹配选择器的元素数组,以及允许您访问 API 的 jQuery 原型。
所以,只是为了澄清。它是一个对象。它是由一个函数构造的。
编辑
下面是一些示例代码,可帮助您了解这是如何发生的。
首先,这个演示是一个简单的 jquery 对象:http: //jsfiddle.net/PbdCt/
html
<div id="car"></div>
js
var car = $("#car");
console.log(car);
其次,这是我写的一个例子
html
<div id="car"></div>
js
var $ = (function(){
var $ = function(sel){
if( !(this instanceof $) ){
return new $(sel);
}
this.selector = sel;
this.element = document.getElementById(sel);
this.constructor = $;
this.init = function(){ /*init*/ };
};
return $;
})();
var car = $("car");
console.log(car);
您会注意到它们都记录几乎完全相同的内容。中没有魔法$
,它只是一个字符串,很像Y
is or jQuery
, or HelloWorld
。