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

資訊專欄INFORMATION COLUMN

JavaScript 框架分類

blankyao / 2308人閱讀

摘要:注本文摘自司徒正美編著的框架設計一書。如果是從內部架構與理念劃分,目前框架可以劃分為類。第種就是具有明確分層架構的框架。類型的判定必不可少,常見形式是系列。選擇器是現代框架的標配。許多框架非常重視操作。

  

注:本文摘自司徒正美編著的《JavaScript框架設計》一書。

如果是從內部架構與理念劃分,目前JavaScript框架可以劃分為5類。

第1種

出現的是以命名空間為導向的類庫或框架,如創建一個數組用new Array(),生成一個對象用new Object(),完全的Java風格,因此我們就可以以某一對象為根,不斷為它添加對象屬性或二級對象屬性來組織代碼,金字塔般地壘疊起來。代表作如早期的YUIEXT

第2種

出現的是以類工廠為導向的框架,如著名的Prototype,還有mootools、Base2、Ten。它們基本上除了最基本的命名空間,其他模塊都是一個由類工廠衍生出來的類對象。尤其是mootools 1.3,把所有類型都封裝成Type類型。

第3種

就是以jQuery為代表的以選擇器為導向的框架,整個框架或庫主體是一個特殊類數組對象,方便集化操作——因為選擇器通常是一下子選擇到N個元素節點,于是便一并處理了。jQuery包含了幾樣了不起的東西:“無new實例化”技術,$(expr)就是返回一個實例,不需要顯式地new出來;get first set all訪問規則:數據緩存系統。這樣就可以復制節點的事件了。此外,IIFE(Immediately-Invoked Function Expression)也被發掘出來。

第4種

就是以加載器串聯起來的框架,它們都有復數個JavaScript文件,每個JavaScript文件都以固定規則編寫。其中最著名的莫過于AMD。模塊化是JavaScript走向工業化的標志?!禪nix編程藝術》列舉的眾多“金科玉律”的第一條就是模塊,里面有言——“要編寫復雜軟件又不至于一敗涂地的唯一方法,就是用定義清晰的接口把若干簡單模塊組合起來,如此一來,多數問題只會出現在局部,那么還有希望對局部進行改進或優化,而又不至于牽動全身”。許多企業內部框架都基本采取這種架構,如Dojo、YUIkissyqwrapmass等。

第5種

就是具有明確分層架構的MV*框架。首先是JavaScript MVC(現在叫CanJS)、backbonejs、spinejs,然后更符合前端實際的MVVM框架,如knockoutember、angular、avalon、winjs。在MVVM框架中,原有DOM操作被聲明式綁定取代了,由框架自行處理,用戶只需專注于業務代碼。


下面是有關框架特征的結論。

對基本數據類型的操作是基礎,如jQuery就提供了trimcamelCase、each、map等方法,對Prototype.js等侵入式框架則是在原型上添加camelize等方法。

類型的判定必不可少,常見形式是isXXX系列。

選擇器、domReady、Ajax是現代框架的標配。

DOM操作是重中之重,節點的遍歷、樣式的操作、屬性操作也屬于它的范疇,是否細分就看框架的規模了。

brower sniff已過時,feature detect正被應用。不過特性偵測還是有局限性,如果針對于某個瀏覽器版本的渲染Bug、安全策略或某些Bug的修正,還是要用到瀏覽器嗅探。但它應該獨立成一個模塊或插件,移除框架的核心。

現在主流的事件系統都支持事件代理。

數據的緩存與處理,目前瀏覽器也提供data-*屬性進行這方面的工作,但不太好用,需要框架的進一步封裝。

動畫引擎,除非你的框架像Prototype.js那樣擁有像script.aculo.us這樣頂級的動畫框架做后盾,最好也加上。

插件的易開發和擴展性。

提供諸如Deferred這樣處理異步的解決方案。

即使不專門提供一個類工廠,也應該存在一個名為extendmixin的方法對對象進行擴展。jQuery雖然沒有類工廠,但在jQuery UI中也不得不增加一個,可見其重要性。

自從jQuery出來一個名為noConflict的方法,新興的框架都帶此方法,以求狹縫中生存。

許多框架非常重視Cookie操作。

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

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

相關文章

  • JavaScript 框架分類

    摘要:注本文摘自司徒正美編著的框架設計一書。如果是從內部架構與理念劃分,目前框架可以劃分為類。第種就是具有明確分層架構的框架。類型的判定必不可少,常見形式是系列。選擇器是現代框架的標配。許多框架非常重視操作。 注:本文摘自司徒正美編著的《JavaScript框架設計》一書。 如果是從內部架構與理念劃分,目前JavaScript框架可以劃分為5類。 第1種 出現的是以命名空間為導...

    elina 評論0 收藏0
  • 2017 年崛起的 JS 項目

    摘要:通過對比各項目過去個月在上新增數量,來評估其在年度的受關注程度,進而選出年度領域崛起的明星項目。也許正因為上述最后一點,在中國擁有大量的擁躉。不僅被中國最大的電商平臺阿里巴巴使用,也獲得了與這些公司青睞。 共 4741 字,讀完需 8 分鐘,速讀 2 分鐘。我有幸參與了該項目的部分中文版翻譯、校對工作,感謝 Sacha Grief,Micheal Ramberu 的統計整理,以及 Fr...

    gaara 評論0 收藏0
  • 前端文檔收集

    摘要:系列種優化頁面加載速度的方法隨筆分類中個最重要的技術點常用整理網頁性能管理詳解離線緩存簡介系列編寫高性能有趣的原生數組函數數據訪問性能優化方案實現的大排序算法一怪對象常用方法函數收集數組的操作面向對象和原型繼承中關鍵詞的優雅解釋淺談系列 H5系列 10種優化頁面加載速度的方法 隨筆分類 - HTML5 HTML5中40個最重要的技術點 常用meta整理 網頁性能管理詳解 HTML5 ...

    jsbintask 評論0 收藏0
  • 前端文檔收集

    摘要:系列種優化頁面加載速度的方法隨筆分類中個最重要的技術點常用整理網頁性能管理詳解離線緩存簡介系列編寫高性能有趣的原生數組函數數據訪問性能優化方案實現的大排序算法一怪對象常用方法函數收集數組的操作面向對象和原型繼承中關鍵詞的優雅解釋淺談系列 H5系列 10種優化頁面加載速度的方法 隨筆分類 - HTML5 HTML5中40個最重要的技術點 常用meta整理 網頁性能管理詳解 HTML5 ...

    muddyway 評論0 收藏0

發表評論

0條評論

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