第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
  • 理解觀察者模式:發(fā)布訂閱(Publish/Subscribe)


    觀察者的使用場合就是:當一個對象的改變需要同時改變其它對象,并且它不知道具體有多少對象需要改變的時候,就應(yīng)該考慮使用觀察者模式。


    JS里對觀察者模式的實現(xiàn)是通過回調(diào)來實現(xiàn)的,作為 $.Callbacks() 的創(chuàng)建組件的一個演示,只使用回調(diào)函數(shù)列表,就可以實現(xiàn) Pub/Sub 系統(tǒng),將 $.Callbacks 作為一個隊列。

    查看全部
  • 使用回調(diào)函數(shù),總的來說弱化耦合,讓調(diào)用者與被調(diào)用者分開。

    調(diào)用者不關(guān)心誰是被調(diào)用者,所有它需知道的,只是存在一個具有某種特定原型、某些限制條件的被調(diào)用函數(shù)

    查看全部
  • 函數(shù)本質(zhì):簡單的理解函數(shù)本質(zhì)上就是輸入和輸出之間實現(xiàn)過程的映射


    理解JS中的函數(shù):

    1、能“存儲”在變量中

    2、能作為函數(shù)的實參被傳遞

    3、能在函數(shù)中被創(chuàng)建

    4、能從函數(shù)中返回


    理解JS中的回調(diào)函數(shù):

    1、使用回調(diào)函數(shù)方便異步處理,例如AJAX

    2、要求執(zhí)行某些操作后執(zhí)行回調(diào)函數(shù)

    查看全部
  • $.each()函數(shù)和$(selector).each()是不一樣的,后者是專門用來遍歷一個jQuery對象的,是為jQuery內(nèi)部服務(wù)的。


    $.each()函數(shù)可用于迭代任何集合,無論是“名/值”對象(JavaScript對象)或數(shù)組。


    jQuery的實例方法最終也是調(diào)用的靜態(tài)方法。

    查看全部
  • 迭代器設(shè)計:迭代器是一個框架的重要設(shè)計。我們經(jīng)常需要提供一種方法順序用來處理聚合對象中各個元素,而又不暴露該對象的內(nèi)部,這也是設(shè)計模式中的迭代器模式(Iterator)

    查看全部
    0 采集 收起 來源:迭代器

    2022-08-08

  • 通過eq方法只能產(chǎn)生一個新的對象,但是如果需要的是一個合集對象要怎么處理:

    使用.slice( start [, end ] )

    查看全部
  • get與eq的區(qū)別:

    eq返回的是一個jQuery對象,get返回的是一個DOM對象

    查看全部
  • end與addBack的鏈式屬性:

    新jQuery對象添加prevObject屬性,我們看到prevObject其實還是當前jQuery的一個引用罷了,所以也就是為什么通過prevObject能取到上一個合集的原因了

    查看全部
    0 采集 收起 來源:end與addBack

    2022-08-08

  • 回溯處理的設(shè)計:

    1、.end():可以回溯到之前的Dom元素集合,prevObject

    2、.addBack():調(diào)用它會在棧中回溯一個位置,然后把兩個位置上的元素集組合起來,并把這個新的、組合之后的元素集推入棧的上方。


    利用這個DOM元素??梢詼p少重復的查詢和遍歷的操作,而減少重復操作也正是優(yōu)化jQuery代碼性能的關(guān)鍵所在。

    查看全部
  • 插件接口的設(shè)計:接口自定義擴展

    jQuery.extend({
    ????data:function(){},
    ????removeData:function(){}
    })
    
    jQuery.fn.extend({
    ????data:function(){},
    ????removeData:function(){}
    })
    查看全部
  • jQuery.extend( object ) 表示將object合并至jQuery上

    jQuery.extend( target, object1, object2) 表示將object1, object2合并至target上


    這也是target如下設(shè)置的原因

    ?var?target?=?arguments[0]?||?{},
    ?????i?=?1,
    ?????length?=?arguments.length;
    
    //只有一個參數(shù),就是對jQuery自身的擴展處理
    if?(i?===?length)?{????????
    ????target?=?this;?//調(diào)用的上下文對象jQuery/或者實例
    ????i--;
    }
    查看全部
  • jQuery的Internal DSL形式帶來的好處

    1、編寫代碼時,讓代碼更貼近作者的思維模式;

    2、閱讀代碼時,讓讀者更容易理解代碼的含義;

    3、應(yīng)用DSL可以有效的提高系統(tǒng)的可維護性(縮小了實現(xiàn)模型和領(lǐng)域模型的距離,提高了實現(xiàn)的可讀性)和靈活性,并且提供開發(fā)的效率


    jQuery的這種管道風格的DSL鏈式代碼,總的來說:

    1、節(jié)約JS代碼;

    2、所返回的都是同一個對象,可以提高代碼的效率。


    通過簡單擴展原型方法并通過return this的形式來實現(xiàn)跨瀏覽器的鏈式調(diào)用。


    但是這種方法有一個問題是:所有對象的方法返回的都是對象本身,也就是說沒有返回值,所以這種方法不一定在任何環(huán)境下都適合

    查看全部
  • DSL是指Domain Specific Language,也就是用于描述和解決特定領(lǐng)域問題的語言

    DSL分為內(nèi)部DSL和外部DSL。

    jQuery屬于內(nèi)部DSL。外部DSL需要編寫解析器。

    查看全部
  • 靜態(tài)與實例方法共享設(shè)計:實例方法取于靜態(tài)方法

    function?jQuery()?{...}
    
    jQuery.each?=?function(){...}
    
    jQuery.prototype?=?{
    ????each:?function(?callback,?args?)?{
    ????????return?jQuery.each(?this,?callback,?args?);
    ????}
    }
    查看全部
  • jQuery分離構(gòu)造器

    - 不使用new 構(gòu)造對象

    - 為了避免死循環(huán),將jQuery原型上的init方法作為構(gòu)造函數(shù),init中的this完全引用不到j(luò)Query的原型,所以這里通過new把init方法與ajQuery給分離成2個獨立的構(gòu)造器

    - 為什么init一定要放在jQuery原型上,單獨寫不好嗎?

    查看全部

舉報

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

微信掃碼,參與3人拼團

微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號

友情提示:

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