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

為了賬號安全,請及時綁定郵箱和手機立即綁定
  • 1、解決命名空間與變量污染的問題 2、立即調用表達式
    查看全部
  • 1、jQuery按我的理解分為五大塊,選擇器、DOM操作、事件、AJAX與動畫 2、單一職責SRP 3、解耦 4、異步隊列模塊(Deferred)與回調模塊(Callbacks) 5、jQXHR對象
    查看全部
    0 采集 收起 來源:jQuery整體架構

    2017-12-24

  • http://www.ruanyifeng.com/blog/2011/08/a_detailed_explanation_of_jquery_deferred_object.html 所以我們需要設計一個返回后觸發處理的機制,當然原生的JavaScript對這個機制幾乎是沒有的。為了優化這個形成統一的異步處理方案,jQuery就開始設計了一個Deferred異步模型。 所以說,Deferred的引入,為處理事件回調提供了更加強大并且更靈活的編程模型。 Deferred 提供了一個抽象的非阻塞的解決方案(如異步請求的響應),它創建一個promise對象,其目的是在未來某個時間點返回一個響應。簡單來說就是一個異步/同步回調函數的處理方案。
    查看全部
    0 采集 收起 來源:Deferred是什么?

    2018-01-18

  • 我們常見的異步操作: 定時器setTimeout postmessage WebWorkor CSS3 動畫 XMLHttpRequest HTML5的本地數據 等等…
    查看全部
    0 采集 收起 來源:理解異步

    2017-12-19

  • 函數aQuery()內部首先保證了必須是通過new操作符構建。意義重大...如上結構就可以模擬出jQuery的這樣的操作了,即可通過索引取值,也可以鏈式方法取值...但存在缺陷 exec()?方法在一個指定字符串中執行一個搜索匹配。返回一個結果數組或?null。 返回值 如果匹配成功,exec() 方法返回一個數組,并更新正則表達式對象的屬性(lastIndex)。返回的數組將完全匹配成功的文本作為第一項,將正則括號(捕獲)里匹配成功的作為數組填充到后面。如果匹配失敗,exec() 方法返回?null。
    查看全部
  • window和undefined都是為了減少變量查找所經過的scope作用域。
    查看全部
  • 1、兩個DOM對象肯定是相等的,兩個jquery對象一定是不等的! 2、靜態方法:uid綁定在jquery對象上,不同jquery對象不會覆蓋 實例方法:uid綁定在DOM對象上,相同DOM對象會覆蓋
    查看全部
    0 采集 收起 來源:靜態接口設計

    2017-12-14

  • Data類的設計: 1.jQuery本身就是包裝后的數組結構,這個不需要解析了; 2.通過data存儲數據: 為了不把數據與dom直接關聯,所以會把數據存儲到一個cache對象上 產生一個 unlock = Data.uid++; unlock 標記號 把unlock標記號,作為一個屬性值 賦予$body節點 cache緩存對象中開辟一個新的空間用于存儲foo數據,this.cache[ unlock ] = {}; 最后把foo數據掛到cache上,cache[ data ] = value; 3.通過data獲取數據 從$body節點中獲取到unlock標記 通過unlock在cache中取到對應的數據
    查看全部
    0 采集 收起 來源:Data類的設計

    2017-12-14

  • 數據緩存,jQuery現在支持兩種: 1. dom元素,數據存儲在jQuery.cache中。 2. 普通js對象,數據存儲在該對象中。 var data_priv = new Data(); var data_user = new Data(); 一個是給jQuery內部使用,比如數據對象,queue,Deferred,事件,動畫緩存。 另一個對象data_user是提供給開發者使用的,比如$.attr(),$.data等等。
    查看全部
  • 簡單的來說: 1.jQuery.data()可以實現為dom元素或js對象添加緩存 2.$("ele").data()是對前者的擴展,其目的是可以方便的通過選擇器為多個dom元素添加緩存數據 雖然大體的意思一樣,但是2個接口在處理上卻有差別,也是我們容易忽視的
    查看全部
  • 對于jQuery來說,數據緩存系統本來就是為事件系統服務而分化出來的,到后來,它的事件克隆乃至后來的動畫列隊實現數據的存儲都是離不開緩存系統,所以數據緩存也算是jQuery的一個核心基礎了。 好處: A.允許我們在DOM元素上附加任意類型的數據,避免了循環引用的內存泄漏風險 B.用于存儲跟dom節點相關的數據,包括事件,動畫等 C.一種低耦合的方式讓DOM和緩存數據能夠聯系起來 jQuery的數據緩存接口: jQuery.data( element, key, value ) $(ele).data( ) 在jQuery的官方文檔中,提示用戶這jQuery.data()是一個低級的方法,應該用$(ele).data()方法來代替。$.data( element, key, value )可以對DOM元素附加任何類型的數據,但避免了循環引用導致的內存泄漏問題。 二者都是用來在元素上存放數據也就平時所說的數據緩存,都返回jQuery對象,但是內部的處理確有本質的區別。
    查看全部
  • (1): DOM對象: DOM 是 Document Object Model(文檔對象模型)的縮寫,用傳統的方法(javascript)獲得的eg.getElementById()...。 javascript對象: 是javascript中除了Document Object的其余對象。 jQuery對象: 即是用jQuery類庫的選擇器獲得的對象; (2): 內存泄露是指一塊被分配的內存既不能使用,又不能回收,直到瀏覽器進程結束。 而另外一種情況,就是循環引用,一個DOM對象和JS對象之間互相引用,這樣造成的情況更嚴重一些,即使刷新,內存也不會減少。這就是嚴格意義上說的內存泄露了。 所以在平時實際應用中, 我們經常需要給元素緩存一些數據,并且這些數據往往和DOM元素緊密相關。由于DOM元素(節點)也是對象, 所以我們可以直接擴展DOM元素的屬性,但是如果給DOM元素添加自定義的屬性和過多的數據可能會引起內存泄漏,所以應該要盡量避免這樣做。 因此更好的解決方法是使用一種低耦合的方式讓DOM和緩存數據能夠聯系起來。 所以我們必須有一種機制,避免引用數據直接依附在DOM對象上,這樣盡量避免內存泄漏的產生。jQuery的緩存系統就很好的解決了這一問題(即內存泄漏這個問題)。
    查看全部
    0 采集 收起 來源:內存泄露

    2018-01-16

  • stopOnFalse的邏輯處理在這里: for (; list && firingIndex < firingLength; firingIndex++) { if (list[firingIndex](data) === false && options === 'stopOnFalse') { break; } }
    查看全部
    0 采集 收起 來源:stopOnFalse

    2018-03-22

  • if (options == 'unique') { if (-1 === list.indexOf(fn)) { // 數組也有indexOf(),不存在時為-1,否則為索引 list.push(fn) } }
    查看全部
    0 采集 收起 來源:unique的設計

    2017-12-12

  • 我們在執行cbs.add(fn2);時,除了把fn2添加到了回調隊列還立刻執行了這個方法,參數是用的之前的。
    查看全部
    0 采集 收起 來源:memory的設計

    2017-12-12

舉報

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

微信掃碼,參與3人拼團

微信客服

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

幫助反饋 APP下載

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

公眾號

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

友情提示:

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