`
zarknight
  • 浏览: 147901 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

mootools【一】- 起步篇

阅读更多

以前一直在用prototype.js,最近发现了mootools,据说也相当不错,它是个纯OO的javascript 框架,所以拿来学习学习,把学习经过记录下来。

 粗略看了下,mootools很貌似prototype,所以用过prototype框架的人应该很容易上手的。

 mootools提供的功能高度模块化,可以根据实际需要来裁剪。

它的核心库是Moo.js和Utility.js,Moo.js里包含了实现OO的基础类,Utility.js提供了最常用的工具函数的封装。

---------------------------Moo.js-------------------------------------

prototype.js里提供了如下形式来创建我们的对象:  

 

js 代码
 
  1. var Cat = Class.create();  
  2. Person.prototype = {  
  3.     initialize: function(name){  
  4.        this.name = name;  
  5.     }  
  6. };  
  7. var cat = new Cat ('kitty');  
  8. alert(cat.name);  

 

对应,mootools使用如下形式:

js 代码
 
  1. var Cat  = new Class({  
  2.     initialize: function(name){  
  3.         this.name = name;  
  4.     }  
  5. });  
  6.       
  7. var cat = new Cat ('kitty');  
  8. alert(cat.name);  


恩,两者看起来很像,不过,好像mootools这种方式更加符合OO的习惯(不过也要看各人喜欢的啦)。

Class进行继承,mootools是这样做的:

 

js 代码
 
  1. var Animal = new Class({  
  2.    initialize: function(name){  
  3.      this.name = name;  
  4.    }  
  5. });  
  6.   
  7. var Cat = Animal.extend({  
  8.    initialize: function(name,age){  
  9.      this.parent(name); //调用Animal的initialize方法  
  10.      this.age = age;  
  11.    }  
  12. });  

是的,相当好用。


Class.implement方法从功能上来理解是对已经定义好的类进行扩展,用法如下:

java 代码
 
  1. var Person = new Class({  
  2.     initialize: function(name){  
  3.         this.name = name;  
  4.     }  
  5. });  
  6.   
  7. Person.implement({  
  8.   initialize: function(name,age){  
  9.         this.name = name;  
  10.         this.age = age;  
  11.     },  
  12.       
  13. myAction: function(){  
  14.         alert(this.name+'--'+this.age);  
  15.     }  
  16. });  
  17.   
  18. var p = new Person('zarknight',24);  
  19. p.myAction();  


 mootools对Object扩展了一个extend方法,它有两个参数,作用是复制第二个参数对象的所有属性到第一参数对象中去,同名属性将覆盖为第二个参数中的相应属性:

js 代码
 
  1. var firstOb = {  
  2.     'name': 'John',  
  3.     'lastName': 'Doe'  
  4. };  
  5. var secondOb = {  
  6.     'age': '20',  
  7.     'sex': 'male',  
  8.     'lastName': 'Dorian'  
  9. };  
  10. Object.extend(firstOb, secondOb);  
  11.   
  12. //firstOb将变成:  
  13. {  
  14.     'name': 'John',  
  15.     'lastName': 'Dorian',  
  16.     'age': '20',  
  17.     'sex': 'male'  
  18. };  


---------------------------Moo.js-------------------------------------

$type

作用:基本上是对typeof的扩展,返回输入参数的类型

例子:

js 代码
 
  1. var x = $type("abcdefg");  

返回值:

'element' - DOM
 'textnode' - DOM 文本节点
 'whitespace' - DOM 空白节点
 'array' - 数组
 'object' - 对象
 'string' - 字符串
 'number' - 数字
 'boolean' - 布尔型
 'function' - 函数
 false - 如果是未定义或则不是以上列出的类型

$chk

作用:如果输入参数是数值(包括0)或是对象(不为null或undefined),则返回true,否则返回false

js 代码
 
  1. var x = $chk("abcde");  //true  
  2. var y = $chk(0);        //true  
  3. var z = $(null);        //false  

 

$pick

作用:如果第一个参数对象存在,则返回这个对象;否则返回第二个参数对象

js 代码
 
  1. var x = $pick("openfdc","zarknight");  //openfdc  
  2. var y = $pick(null,"zarknight");       //zarknight  
  3. var z = $pick(1, 2);                   //1  

 

$random

作用:产生一个介于(包括)指定的最大范围值和最小范围值之间的随机整数

js 代码
 
  1. var x = $random(1,100);   //产生一个1~100之间的随机整数  

 

$clear

作用:其实就是clearTimeout和clearInterval都调用一遍

java 代码
 
  1. var timer1 = setInterval("abc()",1000);  
  2. timer1 = $clear(timer1);  
  3.   
  4. var timer2 = aFunc.delay(1000); 
  5. //delay是mootools对Function的扩展,具体用法看mootools文档或我的后文...  
  6. timer2 = $clear(timer2);  


另外,mootools往window对象里摆了这么些属性,用来作为检测浏览器类型的工具:

window.ie
window.ie6
window.ie7
window.khtml
window.gecko

分享到:
评论

相关推荐

    mootools-1.2.2-core-nc.js

    mootools-1.2.2-core-nc

    mootools-release-1.11

    "mootools-release-1.11"是MooTools的一个特定版本,发布于2010年,旨在提供稳定性和兼容性的更新。这个版本在当时是一个重要的里程碑,因为它包含了多个关键的改进和修复。 MooTools的核心设计理念是遵循“Write ...

    mootools-core-1.4.5

    mootools,Javascript只能提示工具所必须的js文件

    mootools-core-1.5.1

    Mootools从Prototype.js中汲取了许多有益的设计理念,语法也和其极其类似。但它提供的功能要比Prototype.js多,整体设计也比Prototype.js...总之,Mootools是一个非常优秀的Javascript框架,更多精髓部分等待你去发掘.

    mootools-1.2.1-core-nc.js

    开源js框架,非常不错,没什么很多介绍的,如果你是做web开发的,千万不要错过

    MooTools1.4中文PDF手册+MooTools-Core-1.5.1.js

    MooTools 1.4中文PDF手册与MooTools-Core-1.5.1.js是学习和使用MooTools的核心资源。 1. **MooTools的基本概念** - **类与对象**:MooTools基于原型的面向对象系统使得创建和继承类变得简单。你可以定义类并为它们...

    mootools-core-1.4.5-full-compat.js

    mootools-core-1.4.5-full-compat.js

    Python库 | django-mootools-behavior-0.1.tar.gz

    `django-mootools-behavior-0.1.tar.gz` 是一个针对Python编程语言和Django框架的扩展库,主要用于增强网页前端的行为交互。这个库将MooTools JavaScript库与Django后端紧密结合,为开发者提供了一种更方便的方式来...

    mootools-12-cheat-sheet

    ### Mootools-12 Cheat Sheet详解 #### 一、Mootools简介 Mootools 是一个简洁且功能强大的 JavaScript 框架,它提供了一系列的工具和方法来简化前端开发工作。Mootools 的设计哲学是“写少做多”,这使得开发者...

    mootools详细教程

    mootools框架【一】-Element篇: 方法完全解析 mootools框架【一】-Element篇: 高级应用举例 mootools框架【二】-Core篇: 方法完全解析 mootools框架【二】-Core篇: 主要方法测试实例 mootools框架【三】-Array篇: ...

    MooTools-1.2-Beginner

    然而,随着时间的发展,MooTools已经成长为一个独立的、开源的并且非常强大的JavaScript框架,并拥有一个稳固的核心开发者团队以及成千上万的支持者、贡献者和热情的宣传者。 MooTools本质上简化了正常的JavaScript...

    mootools-12-cheat-sheet-pf.pdf

    ### Mootools核心知识点解析:mootools-12-cheat-sheet-pf.pdf概览 Mootools是一款轻量级且功能强大的JavaScript框架,旨在简化Web开发中的常见任务,如DOM操作、事件处理、动画以及AJAX交互。本文将根据提供的文件...

    mootools1.2 core

    这个压缩包包含两个核心文件:`mootools-1.2.4-core-nc.js`和`mootools-1.2.4-core-server.js`。 1. **MooTools 1.2 Core** - **模块化设计**:MooTools采用模块化的架构,允许开发者按需加载特定功能,降低页面...

    前端项目-mootools-more.zip

    **前端项目-mootools-more.zip** 是一个包含MooTools扩展库的压缩包,主要针对的是使用MooTools JavaScript框架进行前端开发的项目。MooTools是一个轻量级且高度模块化的JavaScript库,旨在提高开发效率,提供面向...

    Ajax-mootools-doc教程--手册.rar

    通过学习"Ajax-mootools-doc教程--手册.rar"中的内容,开发者不仅可以掌握Ajax的基础知识,还能深入理解MooTools库的使用,提高JavaScript开发效率,尤其在创建动态、响应式的Web应用程序方面。这份资料对初学者和有...

    mootools 1.5.1 最新版下载.rar

    mootools插件 1.5.1 最新版下载,目前,mootools插件的最新版本是1.5.1,这个插件实现的功能不亚于jquery,是一款同样优秀的js插件,为了大家方便,在此与大家... mootools JS文件在mootools-core-1.5.1\dist目录下。

    mootools-中文教程

    #### 一、起步篇 Mootools是一个轻量级且功能强大的JavaScript库,其设计目标是为了简化浏览器端的编程。与Prototype类似,Mootools同样支持面向对象的编程方式,但在某些方面更加注重易用性和简洁性。 ##### 创建...

    基于mootools的菜单Mootree

    - **10g mootools**:可能指的是MooTools的一个特定版本,10g可能代表的是一个时间点或者版本号,表示这个菜单组件是基于某个时期的MooTools开发的。 - **菜单**:这是Mootree的主要功能,即创建和管理菜单,它...

    mootools.js插件 1.4.5 core下载.zip

    比prototypejs更丰富、更强大的mootools.js插件 1.4.5 core下载。mootools.js可以生成较为复杂的、动态的网页交互效果,和jquery一样强大。。Mootools从Prototype.js中汲取了许多有益的设计理念,语法也和其极其类似...

    mootools源代码说明

    MooTools是一个简洁,模块化,面向对象的JavaScript框架。它能够帮助你更快,更简单地编写可扩展和兼容性强的 JavaScript代码。Mootools从Prototype.js中汲取了许多有益的设计理念,语法也和其极其类似。但它提供的...

Global site tag (gtag.js) - Google Analytics