亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
  • 2. 單一職責SRP”
    查看全部
    0 采集 收起 來源:jQuery整體架構

    2020-10-22

  • 知識點: 1.S.O.L.I.D五大原則 2.
    查看全部
    0 采集 收起 來源:jQuery整體架構

    2020-10-22

  • 知識點: 1. 從2.1版開始jQuery支持通過AMD模塊劃分 2.
    查看全部
    0 采集 收起 來源:jQuery整體架構

    2020-10-22

  • //簡單模擬(閉包)

    ? function aDeferred() {

    ? ? var arr = [];

    ? ? return {

    ? ? ? then: function(fn) {

    ? ? ? ? arr.push(fn)

    ? ? ? ? return this;

    ? ? ? },

    ? ? ? resolve: function(args) {

    ? ? ? ? var returned;

    ? ? ? ? arr.forEach(function(fn, i) {

    ? ? ? ? ? var o = returned || args;

    ? ? ? ? ? returned = fn(o)

    ? ? ? ? })

    ? ? ? }

    ? ? }

    ? }


    查看全部
  • element.querySelectorAll?在文檔內找全部符合選擇器描述的節點包括Element本身

    問題出在aaRoot.querySelector盡然還有返回值!因為上下文查找的范圍包含了自身了

    查看全部
  • 簡單來說,就是IE8之前的版本,需使用getAttribute('className')才能獲得class屬性的值,FF及IE8之后的版本則是W3C的標準getAttribute('class')。

    這是因為IE 混淆了 DOM 對象屬性(property)及 HTML 標簽屬性(attribute),造成了對 setAttribute、getAttribute 的不正確實現。


    查看全部
  • $.Deferred的resolveWith( context [, args]).如:var dtd=$.Deferred(); function car(age,name){this.age=age;this.name=name}; dtd.done(car); var obj={}; dtd.resolveWith(obj,[8,"jeep"]);console.log(obj.age+","+obj.name)


    callbacks.add( callbacks )


    參數描述
    callbacksFunction,Array類型 一個函數或者一個函數數組,用來添加到回調列表


    查看全部
  • var cbs = $.Callbacks('once memory');

    cbs.add(fn1);



    console.log('..........')


    cbs.add(fn2);

    cbs.fire('bar');


    VM9160:5 ..........

    VM9100:7 fn1 says bar

    VM9100:10 fn2 says bar

    {add: ?, remove: ?, has: ?, empty: ?, disable: ?, …}

    cbs.fire('foo');

    {add: ?, remove: ?, has: ?, empty: ?, disable: ?, …}


    查看全部
    0 采集 收起 來源:memory的設計

    2020-05-02

  • var?dfd=$.Deferred();
    dfd.progress(function(data){
    ????alert(data);
    }).done(function(data){
    ????alert("done:>>>>>"+data);
    }).fail(function(data){
    ????alert("fail:>>>>"+data);
    });function?getProcess(){
    ????dfd.notify("我是progress回調函數的參數");????var?a=true;????//下面判斷是為了執行done還是fail
    ????if(a){
    ????????dfd.resolve("執行done.....");
    ????}else{
    ????????dfd.reject("執行fail......");
    ????}
    }


    <input?type="button"?value="確定"?onclick="getProcess()"?/>


    查看全部
  • 重點

    //內部promise對象,作用:

    ? ? ? //1:通過promise.promise( deferred );混入到deferred中使用

    ? ? ? //2:可以生成一個受限的deferred對象,

    ? ? ? //? ?不在擁有resolve(With), reject(With), notify(With)這些能改變deferred對象狀態并且執行callbacklist的方法了

    ? ? ? //? ?換句話只能讀,不能改變了


    查看全部
  • 實際上在Callback源碼fire方法有一句 memory = options.memory && data;這樣就很巧妙的緩存當前參數5的值,提供給下一個使用,這個就是then,pipe鏈式數據的一個基礎了,此刻的操作,我們把memory保存了這個數據的值。

    重點來了,下一個defer.done的操作也是走的add的處理,把done的回調函數加入到list隊列中的之后,接著就會觸發。


    查看全部
  • jQuery.extend({
    ???Deferred:function(func){
    ????????...省略代碼....
    ????????return?deferred
    ???},
    ???when:function(func){
    ??????...省略代碼....
    ??????return?deferred.promise();
    ???}
    })


    Deferred方法內部建議了2個對象,一個是deferred外部接口對象,一個是內部promise對象。



    promise對象解釋是一個受限的對象, 這就是所謂的受限制的deferred對象,因為相比之前, 返回的deferred不再擁有resolve(With), reject(With), notify(With)這些能改變deferred對象狀態并且執行callbacklist的方法了,只能是then、done、fali等方法。

    查看全部
    0 采集 收起 來源:$.Deferred的設計

    2020-05-02

  • 摘過來一句話:deferred.promise()的作用是,在原來的deferred對象上返回另一個deferred對象,后者只開放與改變執行狀態無關的方法(比如done()方法和fail()方法),屏蔽與改變執行狀態有關的方法(比如resolve()方法和reject()方法),從而使得執行狀態不能被改變。

    查看全部
  • var body1 = $("body")

    undefined

    $.data(body1, "bar", '慕課網一');

    "慕課網一"

    $.data(body1, "bar");

    "慕課網一"

    $.data(body1, "bar", '慕課網一1');

    "慕課網一1"

    $.data(body1, "bar");

    "慕課網一1"

    $.data($("body"), "bar", '慕課網一1');

    "慕課網一1"

    $.data($("body"), "bar");

    undefined


    $.data是綁定在對象上

    $().data是綁定在dom上

    查看全部
  • 靜態方法data的實現不像attr操作直接把數據作為屬性捆綁到元素節點上


    globalCache” 包含了多個 DOM Element 的 “cache”,并在 DOM Element 上添加一個屬性,存放 “cache” 對應的 uid。



    jQuery中每一個對象都是一個新的jQuery.fn.init()實例,所以即使兩個jQuery中包含的DOM元素相同,這兩個jQuery對象也并無關系。
    好了,那么靜態方法就是給jQuery對象附加一個uid,而實例方法則就是給jQuery對象中的DOM節點上附加uid。這就是為啥靜態方法不覆蓋而實例方法覆蓋的原因了

    查看全部
    0 采集 收起 來源:靜態接口設計

    2020-04-30

舉報

0/150
提交
取消
課程須知
源碼的閱讀不是一蹴而就的,需要大家有一定的功底,比如jQuery的基礎運用以及API的熟悉度,除此之外要有牢固的javascript、DOM、CSS的基礎功底,甚至還需要理解常見的設計模式、數據結構等等。當然大家也不要被這些給嚇住了,理解,總是需要一種慢慢的學習過程。
老師告訴你能學到什么?
通過本課程的學習,您可以由淺入深地剖析jQuery庫的設計與實現。 其中我們圍繞的重心: 1、設計理念 2、結構組織 3、接口設計 4、模式運用 5、場景套用

微信掃碼,參與3人拼團

微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

友情提示:

您好,此課程屬于遷移課程,您已購買該課程,無需重復購買,感謝您對慕課網的支持!