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

首頁 > 編程 > JavaScript > 正文

JS 的應(yīng)用開發(fā)初探(mootools)

2019-11-21 00:53:32
字體:
供稿:網(wǎng)友
做了三個小demo,本來想做一個類似Gmail的界面出來后來突然發(fā)現(xiàn)機(jī)器上沒有Office,就干脆做了一個類PPT演示的小玩意。

基于js的應(yīng)用開發(fā)總結(jié)起來主要有如下幾點:

封裝粒度
常用功能封裝為可重復(fù)使用的組件,需要合理選擇組件封裝粒度,粒度過大不便于復(fù)用,粒度過小則得不償失。

代碼結(jié)構(gòu)規(guī)劃
吸收傳統(tǒng)軟件開發(fā)的思想將代碼按功能劃分為不同的區(qū)塊:初始化,事件綁定,事件邏輯處理,外部Callback調(diào)用

Js的面向?qū)ο?
簡單起見可以使用構(gòu)造函數(shù)(其實就是普通的Function)+ prototype定義,雖然看起來不是很優(yōu)雅不過卻是比較直接的解決辦法。演示代碼中使用了Mootools類庫,相比jQuery來說,這個類庫的面向?qū)ο筇匦允褂闷饋韨€人感覺更好一些,當(dāng)然也可以使用它自帶的Class申明方式來編寫你自己的Class:
復(fù)制代碼 代碼如下:

Meta.Controls.Pager = new Class({
Implements: [Events, Options],
options: {
pageIndex :1, // 當(dāng)前頁碼, 從1開始
size : 10, // 每頁顯示記錄數(shù)
maxButtons : 5,// 顯示的分頁按鈕數(shù)量
showPageSize:true, // 顯示分頁大小選項.
sizeArray:[10, 25]
},
initialize: function (A) {
this.setOptions(A);
this.pageIndex = this.options.pageIndex;
this.size = this.options.size;
this.maxButtons = this.options.maxButtons;
this.itemCount = 0;
this.pageCount =0 ;
},
......
}

這樣的方式也是不錯的選擇,代碼邏輯結(jié)構(gòu)清晰一目了然。


單元測試
通常認(rèn)為瀏覽器上的js 應(yīng)用要做單元測試不好做,原因主要是跟DOM關(guān)系太緊密,但也不是完全沒有辦法,比如Google的Closure就做得不錯,使用Mock的對象來模擬Dom元素并解耦代碼邏輯與Dom對象操作。
下面是本次實例的代碼,感興趣的童鞋自行下載
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 三台县| 建始县| 牡丹江市| 东光县| 汽车| 徐州市| 兰坪| 达州市| 武平县| 诏安县| 三穗县| 辰溪县| 阳城县| 泰和县| 三门县| 奎屯市| 德兴市| 沛县| 石柱| 荆州市| 毕节市| 金溪县| 平远县| 陈巴尔虎旗| 横峰县| 石狮市| 揭东县| 泗水县| 会理县| 滦南县| 保德县| 江都市| 永丰县| 樟树市| 庆城县| 日照市| 理塘县| 通榆县| 民县| 虎林市| 灯塔市|