MooTools是一個簡潔,模塊化,面向對象的開源ECMAScript web應用框架。它為web開發者提供了一個跨瀏覽器js解決方案。在處理js、層疊樣式表、HTML時候。它提供了一個比普通js更面向對象的documentAPI。
優點
1.靈活,模塊化的框架,用戶可以選擇自己需要的組件。
2.MooTools符合OO的思想,使代碼更強壯,有力,有效。
3.高效的組件機制,可以和flash進行完美的交互。
4.對于DOM的擴展增強,使開發者更好的利用document
組件
MooTools包含很多組件,官方網站MooTools支持你下提取自己需要的獨立代碼而不需要全部下載,同時可以選擇壓縮的級別。
Core:常用函數集合,其它組件必須的
Class:MooTools類的實例化的基礎庫
Natives:原始類的擴展。
Element.io:包含一些對HTML element及其擴展
Fx:一個動態元素高級效果的API
Requests:為開發者提供xhttpRequest cookie json html特定檢索工具
Window:提供一個獲取client信息的跨瀏覽器接口
兼容性
Safari 2+
Internet Explorer 6+
Mozilla Firefox 2+
Opera 9+
Camino 1.5+
面向對象
MooTools包含一個健壯的類創建器和繼承系統類似其它OO的語言
例如:以下代碼提供和鏈接中(http://en.wikipedia.org/wiki/Polymorphism_in_object-oriented_programming#Examples)地址類似的功能
var 動物界 = new Class({
initialize: 函數(name){
this.name = name;
}
});
var cat = new Class({
Extends: Animal,
talk: function(){
return 'Meow!';
}
});
var Dog = new Class({
Extends: Animal,
talk: function(){
return 'Arf! Arf';
}
});
var Animals = {
a: new Cat('Missy'),
c: new Dog('Lassie')
};
for(var 動物界 in Animals) alert(動物界name + ': ' + animal.talk());
// alerts the following:
//
// Missy: Meow!
// Mr. Bojangles: Meow!
// Lassie: Arf! Arf!
點評
Mootools從Prototype.js中汲取了許多有益的設計理念,語法也和其極其類似。但它提供的功能要比Prototype.js多,整體設計也比Prototype.js要相對完善,功能更強大,比如增加了動畫特效、拖放操作等等。總之,Mootools是一個非常優秀的ECMAScript框架,更多精髓部分等待你去發掘.
參考資料 >
Mootools1.4.5中文手冊.Mootools 1.4.5中文手冊.2014-04-10