首页  >  问答  >  正文

javascript - jquery中的原型链

var jQuery = function(global, factory) {
    return new jQuery.fn.init();
}

jQuery.fn = jQuery.prototype = {
    constructor: jQuery,
    init: function() {
        this.jquery = 3;
        return this;
    },
    each: function() {
        console.log('each');
        return this;
    }
}

jQuery.fn.init.prototype = jQuery.fn;

// init构造函数
jQuery().each().each()

上面是一段jQuery源码,我的问题是为什么代码最后一行的第二个each函数还能够执行

欧阳克欧阳克2633 天前642

全部回复(4)我来回复

  • PHP中文网

    PHP中文网2017-07-05 10:38:08

    原型中this指向的是实例对象,each里return this来返回这个对象,从而实现链式调用

    回复
    0
  • 滿天的星座

    滿天的星座2017-07-05 10:38:08

    两个each跟一个each效果一样,对象都是jQuery

    回复
    0
  • 天蓬老师

    天蓬老师2017-07-05 10:38:08

    因为你return的是this,别说两个了,10个也可以

    回复
    0
  • 世界只因有你

    世界只因有你2017-07-05 10:38:08

    链式编程

    return this

    回复
    0
  • 取消回复