国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

javascript框架設 計之框架分類及主要功能

2019-11-02 15:45:36
字體:
來源:轉載
供稿:網友

  這篇文章主要介紹了javascript框架設計之框架分類及主要功能的相關資料,需要的朋友可以參考下

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

  第一種是以命名空間為導向的類庫或框架,如果創建一個數組用new Array(),生成一個對象用new Object(),完全的java風格,因此,我們以某一對象為跟,不斷為它添加對象和二級對象屬性來組織代碼,如金字塔般壘起來,早期代表YUI,EXT(so,不是有活力的公司都還用它們)

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

  第三種,就是以jQuery為代表的以選擇器為導向的框架,整個框架或庫主體是一個特殊的類數組對象,方便集化操作(因為選擇器一下子選擇到了N個元素節點),于是一并處理了。jQuery有幾樣了不起的東西:

  “無new實例化”技術,$( expr )就是返回一個實例,不需要顯式的new出來;

  get first set all訪問規則;

  數據緩存系統。這樣就可以賦值節點事件了。

  IIFE也被發掘出來

  第四種,就是加載器串聯起來的框架,它都有復數個javascript文件,每個javascript文件都以固定規則編寫。其中,最著名的莫過于AMD。模塊化是javascript走向工業化的標志,“要編寫

追風電影[www.aikan.tv/special/zhuifengdianyingwang/]
復雜軟件有不至于一派涂地的唯一方法,就是定義清晰的接口,把若干模塊組合起來,如此一來,多數問題只會出現在局部,那么還有希望對局部進行改進和優化,而不至于牽動全身。”許多企業內部框架都基本采取這種架構,如Dojo,YUI,Kissy,qwrap,mass,(requirejs,Seajs)等.

  第五種,就是具有明確的分層構架的MV*,首先是javascript MVC,(現在叫Canjs)、backbone.js和spinejs,然后更符合前端實際的MVVM框架,如,knockout,emberm,angular,avalon,winjs。在MVVM框架中,原有的DOM操作被聲明式綁定取代了,由框架自由處理,用戶只專注于業務代碼。

  javascript框架的主要功能

  jQuery框架類庫的模塊劃分主要依據在github的源代碼,基本上都是一個模塊一個javascript文件,jQuery一開始專注于DOM操作的思路一開始就是對的,以后不斷在兼容性上,性能上進行改進,經過多年發展,jQuery龐大的插件與完善的BUG提交渠道,使得自身不斷完善

  Prototype.js早期的王者,它劃分為四個部分。

  語言擴展

  DOM擴展

  Ajax部分

  廢棄部分,新版本用其他方法實現原有功能

  Prototype.js的語言擴展覆蓋面很廣,包括基本數據類型和從語言借鑒過來的“類”。其中,Enumerable只是一個普通的方法包,ObjectRange、PeriodicalExecuter、Templat則是用Class類工廠生產出來的(來自社區貢獻)。

  mootools由于API設計的非常優雅,其官方網站上有很多優質插件,才沒有在原型擴展的反對浪潮中沒落。

  Rightjs:又一個在原型擴展上的框架,MochiKit 一個Python風格的框架,十分獨到,能進框架前十。

  Ten:日本著名博客社區 Hatena的Javascript框架,amachang開發,受Prototype.js影響,是最早以空間命名的框架典范;mass Framework:一個以大模塊開發為目標,jQuery式的框架。

  經過細節的比較,我們很容易得出以下框架特征的結論

  ?

1 2 3 4 5 6 7 8 9 10 11 12 對基本數據的操作是基礎,如jQuery提供的trim camelCase each map等方法,Prototype.js等入侵式框架則在原型上添加camelize等方法 類型的判定比不可少,常見的形式是jsXXX系列 選擇器,domReady Ajax是現代框架的標配 DOM操作是重中之重,節點的遍歷,樣式操作,屬性操作也屬于它的范疇 現在主流的事件系統都支持事件代理 數據的緩存與處理,目前
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 临清市| 伊金霍洛旗| 永泰县| 遂溪县| 延川县| 延津县| 昆山市| 柞水县| 大渡口区| 富阳市| 平舆县| 辰溪县| 南部县| 六枝特区| 正镶白旗| 曲靖市| 美姑县| 望谟县| 牟定县| 新建县| 靖州| 祁阳县| 龙海市| 马鞍山市| 葫芦岛市| 酉阳| 南川市| 南投县| 荆州市| 任丘市| 马鞍山市| 轮台县| 白玉县| 叙永县| 亚东县| 荥阳市| 承德县| 丁青县| 巴楚县| 子洲县| 大英县|