jquery源码——jquery继承原型链上方法

jquery继承方法:

1、toArray 变数组

var arr = [];
jquery.prototype = {
    toArray: function() {
		return arr.slice.call( this );
	}
}

应用:

    console.log($('<div></div><div></div>').toArray());
    //  [div,div]

2、get 获取指定jquery元素

get: function (num) {
            if(num == null){
                return slice.call(this);
            }
            return num < 0 ? this[num + this.length] : this[num];
        }

应用:


    console.log($('<div>1</div><div>2</div>').get());
    // [div,div]
    console.log($('<div>1</div><div>2</div>').get(0));
    //  <div>1</div>

3、pushStack 入栈,先进后出;jquery内部使用较多(还没怎么弄懂有啥用……可能是记录上一层,end回退操作);

	pushStack: function( elems ) {

		// 合并
		var ret = jQuery.merge( this.constructor(), elems );

		// 标记prevObject
		ret.prevObject = this;

		// 返回值
		return ret;
	}

4、each、map、slice 用法;

5、first 选择第一位,last 选择最后一位,eq(num) 选择this[num];


        first: function () {
            return this.eq(0);
        },
        last: function () {
            return this.eq(-1);
        },
        eq: function (num) {
            var len = this.length;
            num = num >= 0 ? num : num + len;
            return this.pushStack(num >=0 && num < len ? [this[num]] : []);
        }

6、end 回退操作;

end: function() {
		return this.prevObject || this.constructor();
	}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值