一、get(num)方法 【返回(DOM)元素对象】
1、源码如下: //是对'(类)数组'下标访问方式的封装 可以使用[i]方法取得同样的效果 获得对当前元素的引用
- get: function( num ) {
- // this指针指向调用get的(Object)对象
- // console.log(this);
- return num != null ?
- // Return just the one element from the set //仅仅返回'堆栈'中的一个元素
- ( num < 0 ? this[ num + this.length ] : this[ num ] ) : //负值则从右边开始算起 '堆栈'对象没有改变
- // Return all the elements in a clean array
- slice.call( this ); //若没有参数则返回整个'堆栈'
- }
2、slice()源码如下:
- slice: function() {
- return this.pushStack( slice.apply( this, arguments ) );
- }
二、eq(i)方法 【返回jQuery对象】
1、源码分析
- eq: function( i ) {
- var len = this.length, //原'堆栈'的长度
- j = +i + ( i < 0 ? len : 0 ); //允许负值
- return this.pushStack( j >= 0 && j < len ? [ this[ j ] ] : [] ); //返回一个新的'堆栈'
- }
2、使用end()方法可以查看原'堆栈'的情况
三、看图 不解释(有图有真相)