jQuery源码分析(一)

1.为什么jQuery返回的是一个对象?
return new jQuery.fn.init( selector, context );
2.jquery对象与DOM对象的互相转化

1中说了,jQuery获得的就是一个对象,但是又是怎样从jq对象转到DOM对象的,都知道是jq(selector)[index]或者是jq(selector).eq(index),但是源码是怎样的?当调用jQuery(selector)返回的是一个$对象,这个对象是一个包含dom对象的列表(学过数据结构的应该清楚)或者你叫它是伪数组(因为有长度),所以可以用下标


下面这是运行结果

(3) [div, div, div, prevObject: jQuery.fn.init(1), context: document, selector: "div"]
0:div
1:div
2:div
context:document
length:3
prevObject:jQuery.fn.init(1)
selector:"div"
__proto__:Object(0)
3.为什么会形成链式结构?

上面代码模拟一个jq 的链式,原理就是每个函数都会返回一个对象,而这个对象是可以调用它的运行环境下面的函数的,所以就形成了链式。
在下水平有限,先说这么多,后续还会更新

你可能感兴趣的:(jQuery源码分析(一))