搜尋

首頁  >  問答  >  主體

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函數還能夠執行

欧阳克欧阳克2690 天前677

全部回覆(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
  • 取消回覆