Javascript 为什么jQuery将元素存储为函数?
我打电话给一个司机,他的身份证是这样的:Javascript 为什么jQuery将元素存储为函数?,javascript,jquery,Javascript,Jquery,我打电话给一个司机,他的身份证是这样的: var car = $('#car'); console.log(car); 当我记录它时,它会像这样在控制台中返回: [div#car, context: document, selector: "#car", jquery: "1.9.0", constructor: function, init: function…] 日志中的“constructor:function”部分是否告诉我它已存储为函数,如果是,为什么以及如何将其存储为对象?jQu
var car = $('#car');
console.log(car);
当我记录它时,它会像这样在控制台中返回:
[div#car, context: document, selector: "#car", jquery: "1.9.0", constructor: function, init: function…]
日志中的“constructor:function”部分是否告诉我它已存储为函数,如果是,为什么以及如何将其存储为对象?jQuery在接受参数时创建函数实例。在本例中,您发送了一个选择器,它是元素的id。收到此选择器后,jquery在“internal”jquery函数上使用
new
关键字。结果是一个函数对象。每次使用$
或jQuery
时,您都要求它提供一个jQuery对象,这是向jQuery函数发出new
的结果。这个对象附带了很多东西,包括与选择器匹配的元素数组,以及允许您访问API的jQuery原型
所以,我想澄清一下。它是一个物体。它是由一个函数构造的
编辑 下面是一些示例代码,帮助您了解这是如何发生的 首先,此演示是一个简单的jquery对象: html 第二,这是我写的一个例子 html
您会注意到,它们记录的内容几乎完全相同。
$
中没有魔法,它只是一个字符串,很像Y
is或jQuery
,或HelloWorld
jQuery在接受参数时创建函数实例。在本例中,您发送了一个选择器,它是元素的id。收到此选择器后,jquery在“internal”jquery函数上使用new
关键字。结果是一个函数对象。每次使用$
或jQuery
时,您都要求它提供一个jQuery对象,这是向jQuery函数发出new
的结果。这个对象附带了很多东西,包括与选择器匹配的元素数组,以及允许您访问API的jQuery原型
所以,我想澄清一下。它是一个物体。它是由一个函数构造的
编辑 下面是一些示例代码,帮助您了解这是如何发生的 首先,此演示是一个简单的jquery对象: html 第二,这是我写的一个例子 html 您会注意到,它们记录的内容几乎完全相同。
$
中没有魔法,它只是一个字符串,很像Y
is或jQuery
,或HelloWorld
否。
构造函数:函数意味着它被称为jQuery构造函数,它是使用给定的上下文选择器调用的。然后返回jQuery对象
现在car是一个jQuery对象
您可以在car
对象上访问jQuery的所有方法。否。
构造函数:函数意味着它被称为jQuery构造函数,它是使用给定的上下文选择器调用的。然后返回jQuery对象
现在car是一个jQuery对象
您可以在car
对象上访问jQuery的所有方法。请粘贴相关HTML以了解更多请粘贴相关HTML以了解更多
<div id="car"></div>
var car = $("#car");
console.log(car);
<div id="car"></div>
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);