摘要:本次主要分享關(guān)于上一篇區(qū)域的學(xué)習(xí)。區(qū)域?yàn)榈暮诵牟糠郑慕Y(jié)構(gòu)如下為了便于梳理思路,以上代碼省略了細(xì)節(jié),只保留了輪廓脈絡(luò)。最終暴露給開(kāi)發(fā)者的如下圖所示這里只分析了區(qū)域的結(jié)構(gòu),下一次會(huì)深入到函數(shù)語(yǔ)句粒度。
本次主要分享關(guān)于上一篇區(qū)域2的學(xué)習(xí)。
區(qū)域2為Zepto的核心部分,它的結(jié)構(gòu)如下
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; });
為了便于梳理思路,以上代碼省略了細(xì)節(jié),只保留了輪廓脈絡(luò)。
這段代碼首先定義了兩個(gè)變量$和zepto,一個(gè)類Z;然后給空對(duì)象zepto定義屬性和方法,其中zepto.Z得到類Z的一個(gè)實(shí)例,至于zepto.init,從默認(rèn)執(zhí)行return zepto.Z(dom, selector)可以得知,它也是獲得類Z的實(shí)例,只是有可能因?yàn)閰?shù)不同作不同處理,在深入細(xì)節(jié)之前姑且這么理解;$是一個(gè)函數(shù),返回值為zepto.init(),亦即類Z的實(shí)例;zepto.Z.prototype = Z.prototype = $.fn是為創(chuàng)建的類Z的實(shí)例設(shè)置原型屬性,同時(shí)為類Z設(shè)置原型屬性;$.zepto = zepto則是將以上各種處理得到的對(duì)象zepto懸掛到$上作為屬性zepto。
最終暴露給開(kāi)發(fā)者的$.zepto如下圖所示:
這里只分析了區(qū)域2的結(jié)構(gòu),下一次會(huì)深入到函數(shù)語(yǔ)句粒度。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/81101.html
摘要:底層的數(shù)據(jù)結(jié)構(gòu)就是數(shù)組鏈表紅黑樹(shù),紅黑樹(shù)是在中加進(jìn)來(lái)的。負(fù)載因子哈希表中的填滿程度。 前言 把 Java 容器的學(xué)習(xí)筆記放到 github 里了,還在更新~其他的目前不打算抽出來(lái)作為文章寫,感覺(jué)挖的還不夠深,等對(duì)某些東西理解的更深了再寫文章吧Java 容器目錄如下: Java 容器 一、概述 二、源碼學(xué)習(xí) 1. Map 1.1 HashMap 1.2 LinkedHashM...
摘要:是棧,它繼承于。滿二叉樹(shù)除了葉結(jié)點(diǎn)外每一個(gè)結(jié)點(diǎn)都有左右子葉且葉子結(jié)點(diǎn)都處在最底層的二叉樹(shù)。沒(méi)有鍵值相等的節(jié)點(diǎn)。這是數(shù)據(jù)庫(kù)選用樹(shù)的最主要原因。 在我們學(xué)習(xí)Java的時(shí)候,很多人會(huì)面臨我不知道繼續(xù)學(xué)什么或者面試會(huì)問(wèn)什么的尷尬情況(我本人之前就很迷茫)。所以,我決定通過(guò)這個(gè)開(kāi)源平臺(tái)來(lái)幫助一些有需要的人,通過(guò)下面的內(nèi)容,你會(huì)掌握系統(tǒng)的Java學(xué)習(xí)以及面試的相關(guān)知識(shí)。本來(lái)是想通過(guò)Gitbook的...
摘要:源碼學(xué)習(xí)之用于合并對(duì)象,可選擇是否深復(fù)制。盡管官方文檔明確指出第一個(gè)參數(shù)是的調(diào)用情況并不支持,但是這個(gè)版本的源碼中,判斷第一個(gè)參數(shù)的類型雖有限定是類型,但卻未對(duì)其值真假加以限定。調(diào)用方式源碼和指向同一個(gè)函數(shù),在函數(shù)內(nèi)部,對(duì)調(diào)用情況進(jìn)行區(qū)分。 jQuery源碼學(xué)習(xí)之extend $.extend用于合并對(duì)象,可選擇是否深復(fù)制。使用時(shí),第一個(gè)參數(shù)為合并后的對(duì)象。如果要進(jìn)行深拷貝,則參數(shù)1為...
摘要:用戶自己指定容量創(chuàng)建大小的數(shù)組創(chuàng)建空數(shù)組默認(rèn)構(gòu)造函數(shù),其默認(rèn)初始容量為構(gòu)造一個(gè)包含指定集合的元素的列表,按照它們由集合的迭代器返回的順序。以正確的順序返回該列表中的元素的迭代器。此方法充當(dāng)基于陣列和基于集合的之間的橋梁。 目錄: 0-0-1. 前言 0-0-2. 集合框架知識(shí)回顧 0-0-3. ArrayList簡(jiǎn)介 0-0-4. ArrayList核心源碼 0-0-5. Ar...
閱讀 2688·2023-04-25 20:19
閱讀 1954·2021-11-24 09:38
閱讀 1639·2021-11-16 11:44
閱讀 4378·2021-09-02 15:40
閱讀 1359·2019-08-30 15:55
閱讀 2030·2019-08-30 15:52
閱讀 3769·2019-08-29 17:20
閱讀 2282·2019-08-29 13:48