国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Zepto.js源碼學習之二

kel / 3529人閱讀

摘要:本次主要分享關于上一篇區(qū)域的學習。區(qū)域為的核心部分,它的結構如下為了便于梳理思路,以上代碼省略了細節(jié),只保留了輪廓脈絡。最終暴露給開發(fā)者的如下圖所示這里只分析了區(qū)域的結構,下一次會深入到函數語句粒度。

本次主要分享關于上一篇區(qū)域2的學習。
區(qū)域2為Zepto的核心部分,它的結構如下

var Zepto = (function() {
   var $, zepto = {};
   function Z(dom, selector) {}
   zepto.Z = function(dom, selector) {
      return new Z(dom, selector)
   }
   zepto.isZ = function(object) {
      return object instanceof zepto.Z
   }
   zepto.init = function(selector, context) {
      blablabla...
      return zepto.Z(dom, selector);
   }
   $ = function(selector, context) {
      return zepto.init(selector, context)
   }
   zepto.qsa = function(element, selector) {
      blablabla...
   });
   $.fn = {
      blablabla...
   };
   zepto.Z.prototype = Z.prototype = $.fn;
   $.zepto = zepto;
});

為了便于梳理思路,以上代碼省略了細節(jié),只保留了輪廓脈絡。
這段代碼首先定義了兩個變量$和zepto,一個類Z;然后給空對象zepto定義屬性和方法,其中zepto.Z得到類Z的一個實例,至于zepto.init,從默認執(zhí)行return zepto.Z(dom, selector)可以得知,它也是獲得類Z的實例,只是有可能因為參數不同作不同處理,在深入細節(jié)之前姑且這么理解;$是一個函數,返回值為zepto.init(),亦即類Z的實例;zepto.Z.prototype = Z.prototype = $.fn是為創(chuàng)建的類Z的實例設置原型屬性,同時為類Z設置原型屬性;$.zepto = zepto則是將以上各種處理得到的對象zepto懸掛到$上作為屬性zepto。
最終暴露給開發(fā)者的$.zepto如下圖所示:

這里只分析了區(qū)域2的結構,下一次會深入到函數語句粒度。

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/81101.html

相關文章

  • Java 容器習之 HashMap

    摘要:底層的數據結構就是數組鏈表紅黑樹,紅黑樹是在中加進來的。負載因子哈希表中的填滿程度。 前言 把 Java 容器的學習筆記放到 github 里了,還在更新~其他的目前不打算抽出來作為文章寫,感覺挖的還不夠深,等對某些東西理解的更深了再寫文章吧Java 容器目錄如下: Java 容器 一、概述 二、源碼學習 1. Map 1.1 HashMap 1.2 LinkedHashM...

    Alex 評論0 收藏0
  • 一文掌握關于Java數據結構所有知識點(歡迎一起完善)

    摘要:是棧,它繼承于。滿二叉樹除了葉結點外每一個結點都有左右子葉且葉子結點都處在最底層的二叉樹。沒有鍵值相等的節(jié)點。這是數據庫選用樹的最主要原因。 在我們學習Java的時候,很多人會面臨我不知道繼續(xù)學什么或者面試會問什么的尷尬情況(我本人之前就很迷茫)。所以,我決定通過這個開源平臺來幫助一些有需要的人,通過下面的內容,你會掌握系統(tǒng)的Java學習以及面試的相關知識。本來是想通過Gitbook的...

    keithxiaoy 評論0 收藏0
  • jQuery源碼習之extend

    摘要:源碼學習之用于合并對象,可選擇是否深復制。盡管官方文檔明確指出第一個參數是的調用情況并不支持,但是這個版本的源碼中,判斷第一個參數的類型雖有限定是類型,但卻未對其值真假加以限定。調用方式源碼和指向同一個函數,在函數內部,對調用情況進行區(qū)分。 jQuery源碼學習之extend $.extend用于合并對象,可選擇是否深復制。使用時,第一個參數為合并后的對象。如果要進行深拷貝,則參數1為...

    quietin 評論0 收藏0
  • 集合框架源碼習之ArrayList

    摘要:用戶自己指定容量創(chuàng)建大小的數組創(chuàng)建空數組默認構造函數,其默認初始容量為構造一個包含指定集合的元素的列表,按照它們由集合的迭代器返回的順序。以正確的順序返回該列表中的元素的迭代器。此方法充當基于陣列和基于集合的之間的橋梁。 目錄: 0-0-1. 前言 0-0-2. 集合框架知識回顧 0-0-3. ArrayList簡介 0-0-4. ArrayList核心源碼 0-0-5. Ar...

    BLUE 評論0 收藏0

發(fā)表評論

0條評論

kel

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<