以前一直在用prototype.js,最近发现了mootools,据说也相当不错,它是个纯OO的javascript 框架,所以拿来学习学习,把学习经过记录下来。
粗略看了下,mootools很貌似prototype,所以用过prototype框架的人应该很容易上手的。
mootools提供的功能高度模块化,可以根据实际需要来裁剪。
它的核心库是Moo.js和Utility.js,Moo.js里包含了实现OO的基础类,Utility.js提供了最常用的工具函数的封装。
---------------------------Moo.js-------------------------------------
prototype.js里提供了如下形式来创建我们的对象:
js 代码
- var Cat = Class.create();
- Person.prototype = {
- initialize: function(name){
- this.name = name;
- }
- };
- var cat = new Cat ('kitty');
- alert(cat.name);
对应,mootools使用如下形式:
js 代码
- var Cat = new Class({
- initialize: function(name){
- this.name = name;
- }
- });
-
- var cat = new Cat ('kitty');
- alert(cat.name);
恩,两者看起来很像,不过,好像mootools这种方式更加符合OO的习惯(不过也要看各人喜欢的啦)。
Class进行继承,mootools是这样做的:
js 代码
- var Animal = new Class({
- initialize: function(name){
- this.name = name;
- }
- });
-
- var Cat = Animal.extend({
- initialize: function(name,age){
- this.parent(name);
- this.age = age;
- }
- });
是的,相当好用。
Class.implement方法从功能上来理解是对已经定义好的类进行扩展,用法如下:
java 代码
- var Person = new Class({
- initialize: function(name){
- this.name = name;
- }
- });
-
- Person.implement({
- initialize: function(name,age){
- this.name = name;
- this.age = age;
- },
-
- myAction: function(){
- alert(this.name+'--'+this.age);
- }
- });
-
- var p = new Person('zarknight',24);
- p.myAction();
mootools对Object扩展了一个extend方法,它有两个参数,作用是复制第二个参数对象的所有属性到第一参数对象中去,同名属性将覆盖为第二个参数中的相应属性:
js 代码
- var firstOb = {
- 'name': 'John',
- 'lastName': 'Doe'
- };
- var secondOb = {
- 'age': '20',
- 'sex': 'male',
- 'lastName': 'Dorian'
- };
- Object.extend(firstOb, secondOb);
-
-
- {
- 'name': 'John',
- 'lastName': 'Dorian',
- 'age': '20',
- 'sex': 'male'
- };
---------------------------Moo.js-------------------------------------
$type
作用:基本上是对typeof的扩展,返回输入参数的类型
例子:
js 代码
- var x = $type("abcdefg");
返回值:
'element' - DOM
'textnode' - DOM 文本节点
'whitespace' - DOM 空白节点
'array' - 数组
'object' - 对象
'string' - 字符串
'number' - 数字
'boolean' - 布尔型
'function' - 函数
false - 如果是未定义或则不是以上列出的类型
$chk
作用:如果输入参数是数值(包括0)或是对象(不为null或undefined),则返回true,否则返回false
js 代码
- var x = $chk("abcde");
- var y = $chk(0);
- var z = $(null); /
$pick
作用:如果第一个参数对象存在,则返回这个对象;否则返回第二个参数对象
js 代码
- var x = $pick("openfdc","zarknight");
- var y = $pick(null,"zarknight");
- var z = $pick(1, 2);
$random
作用:产生一个介于(包括)指定的最大范围值和最小范围值之间的随机整数
js 代码
$clear
作用:其实就是clearTimeout和clearInterval都调用一遍
java 代码
- var timer1 = setInterval("abc()",1000);
- timer1 = $clear(timer1);
-
- var timer2 = aFunc.delay(1000);
-
- timer2 = $clear(timer2);
另外,mootools往window对象里摆了这么些属性,用来作为检测浏览器类型的工具:
window.ie
window.ie6
window.ie7
window.khtml
window.gecko
分享到:
相关推荐
mootools-1.2.2-core-nc
"mootools-release-1.11"是MooTools的一个特定版本,发布于2010年,旨在提供稳定性和兼容性的更新。这个版本在当时是一个重要的里程碑,因为它包含了多个关键的改进和修复。 MooTools的核心设计理念是遵循“Write ...
mootools,Javascript只能提示工具所必须的js文件
Mootools从Prototype.js中汲取了许多有益的设计理念,语法也和其极其类似。但它提供的功能要比Prototype.js多,整体设计也比Prototype.js...总之,Mootools是一个非常优秀的Javascript框架,更多精髓部分等待你去发掘.
开源js框架,非常不错,没什么很多介绍的,如果你是做web开发的,千万不要错过
MooTools 1.4中文PDF手册与MooTools-Core-1.5.1.js是学习和使用MooTools的核心资源。 1. **MooTools的基本概念** - **类与对象**:MooTools基于原型的面向对象系统使得创建和继承类变得简单。你可以定义类并为它们...
mootools-core-1.4.5-full-compat.js
`django-mootools-behavior-0.1.tar.gz` 是一个针对Python编程语言和Django框架的扩展库,主要用于增强网页前端的行为交互。这个库将MooTools JavaScript库与Django后端紧密结合,为开发者提供了一种更方便的方式来...
### Mootools-12 Cheat Sheet详解 #### 一、Mootools简介 Mootools 是一个简洁且功能强大的 JavaScript 框架,它提供了一系列的工具和方法来简化前端开发工作。Mootools 的设计哲学是“写少做多”,这使得开发者...
mootools框架【一】-Element篇: 方法完全解析 mootools框架【一】-Element篇: 高级应用举例 mootools框架【二】-Core篇: 方法完全解析 mootools框架【二】-Core篇: 主要方法测试实例 mootools框架【三】-Array篇: ...
然而,随着时间的发展,MooTools已经成长为一个独立的、开源的并且非常强大的JavaScript框架,并拥有一个稳固的核心开发者团队以及成千上万的支持者、贡献者和热情的宣传者。 MooTools本质上简化了正常的JavaScript...
### Mootools核心知识点解析:mootools-12-cheat-sheet-pf.pdf概览 Mootools是一款轻量级且功能强大的JavaScript框架,旨在简化Web开发中的常见任务,如DOM操作、事件处理、动画以及AJAX交互。本文将根据提供的文件...
这个压缩包包含两个核心文件:`mootools-1.2.4-core-nc.js`和`mootools-1.2.4-core-server.js`。 1. **MooTools 1.2 Core** - **模块化设计**:MooTools采用模块化的架构,允许开发者按需加载特定功能,降低页面...
**前端项目-mootools-more.zip** 是一个包含MooTools扩展库的压缩包,主要针对的是使用MooTools JavaScript框架进行前端开发的项目。MooTools是一个轻量级且高度模块化的JavaScript库,旨在提高开发效率,提供面向...
通过学习"Ajax-mootools-doc教程--手册.rar"中的内容,开发者不仅可以掌握Ajax的基础知识,还能深入理解MooTools库的使用,提高JavaScript开发效率,尤其在创建动态、响应式的Web应用程序方面。这份资料对初学者和有...
mootools插件 1.5.1 最新版下载,目前,mootools插件的最新版本是1.5.1,这个插件实现的功能不亚于jquery,是一款同样优秀的js插件,为了大家方便,在此与大家... mootools JS文件在mootools-core-1.5.1\dist目录下。
#### 一、起步篇 Mootools是一个轻量级且功能强大的JavaScript库,其设计目标是为了简化浏览器端的编程。与Prototype类似,Mootools同样支持面向对象的编程方式,但在某些方面更加注重易用性和简洁性。 ##### 创建...
- **10g mootools**:可能指的是MooTools的一个特定版本,10g可能代表的是一个时间点或者版本号,表示这个菜单组件是基于某个时期的MooTools开发的。 - **菜单**:这是Mootree的主要功能,即创建和管理菜单,它...
比prototypejs更丰富、更强大的mootools.js插件 1.4.5 core下载。mootools.js可以生成较为复杂的、动态的网页交互效果,和jquery一样强大。。Mootools从Prototype.js中汲取了许多有益的设计理念,语法也和其极其类似...
MooTools是一个简洁,模块化,面向对象的JavaScript框架。它能够帮助你更快,更简单地编写可扩展和兼容性强的 JavaScript代码。Mootools从Prototype.js中汲取了许多有益的设计理念,语法也和其极其类似。但它提供的...