santiago1983

学无止境

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

这次我们来一同看看mootools的核心部分.

mootools官网上关于core是这样的说的:Core contains common functions used in MooTools.

怎么理解它呢?我认为可以这样理解(不是翻译这句英文),核心之所以为核心,正是因为它是mootools框架构造的基础。所有的方法和类得扩展都基于此。

那我们来看看这部分的内容:

Function: typeOf 返回对象的类型

var myString = 'hello';
typeOf(myString); // returns "string"

那么当我们需要对内容的类型做出判断时,我们可以用此方法。

Function: instanceOf 返回true或false,用来判断该实例是否是所指定的对象类型

var foo = [];
instanceOf(foo, Array) // returns true
instanceOf(foo, String) // returns false

当然我自己定义的类型也同样可以用来判断,

var myClass = new Class();
var bar = new myClass();
instanceOf(bar, myClass) // returns true

另外官网也给出了一个有用的列表,不熟悉的朋友可以看看:

The types MooTools uses are:
String
Array
Number
Function
RegExp
Date
Boolean
Custom MooTools types are:
Element
Elements
Event

Type method: implement 为类添加方法。

官网上写着:This method implements a new method to the type's prototype.

myType.implement(name, method); 或者 myType.implement({name1:function,name2:function})(这个结构是用于添加多个方法的构造);

这个好,相当于as中在父类的基础上添加了新的方法,这样子类出了具有父类的方法,还有自己新的方法。

看几个例子:

Array.implement('limitTop', function(top){
for (var i = 0, l = this.length; i < l; i++){
if (this[i] > top) this[i] = top;
}
return this;
});
[1, 2, 3, 4, 5, 6].limitTop(4); // returns [1, 2, 3, 4, 4, 4]

上面这个例子就是为mootools中的Array类添加了一个名为limitTop的方法,从代码就知道,这个方法用于根据给定的参数,将数组中的对象限定最大值,凡超过最大值的对象,都被替换成所指定的这个最大值。

myType.implement(methods)怎么用?

Class.implement({
添加方法1名称: function(arg){
做点什么吧
},
添加方法2名称: function(){
做点什么吧
},
}
});

有些朋友可能还是云里雾里,会问这个有什么用?问得好,凡是事物存在必定有原因,那作为学习他们的我们,一定要明白为什么要学习它。问这个问题一点都不丢人,至少你明白了学习的根本原由。

我们学了这个方法,我们就可以扩展mootools的类的方法。

我们可以扩展mootools自己的类的方法,也可以扩展自己定义的类的方法。

这样说吧,我们每个人都有自己的生活和工作,有些事是我们经常会做的,例如我在工作中就经常喜欢喝咖啡,那我就会把喝咖啡所必须的器皿和方糖都准备好,放在身边,每次想喝就直接去喝。这样就比较方便。那么定义方法也是这样,我们经常要用的一套方法,我们封装好,定义成方法,给定名字,留出接口,这样一来就很方便了。不用每次用的时候又重新写一遍。那implement就是把我们过去没有的新的方法加入到我们的常用方法集合中。哈哈。剩下的以后再说。让大伙消化消化。

posted on 2012-02-12 14:03  santiago1983  阅读(294)  评论(0编辑  收藏  举报