suchen

Heim  >  Fragen und Antworten  >  Hauptteil

Prototypenkette in 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()

Das Obige ist ein Teil des jQuery-Quellcodes. Meine Frage ist, warum die zweite eachFunktion in der letzten Zeile des Codes noch ausgeführt werden kann

欧阳克欧阳克2690 Tage vor678

Antworte allen(4)Ich werde antworten

  • PHP中文网

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

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

    Antwort
    0
  • 滿天的星座

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

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

    Antwort
    0
  • 天蓬老师

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

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

    Antwort
    0
  • 世界只因有你

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

    链式编程

    return this

    Antwort
    0
  • StornierenAntwort