这次我们来一同看看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就是把我们过去没有的新的方法加入到我们的常用方法集合中。哈哈。剩下的以后再说。让大伙消化消化。