当前位置: 首页 > 文档资料 > MooTools 中文文档 >

Core

优质
小牛编辑
114浏览
2023-12-01

Type: Core

核心包含在MooTools的常用的功能。

Function:typeof

返回对象的类型。

语法:

typeof(obj);

参数:

  1. obj - 要检查的对象(object)。

返回:

  • 'element' - (string) 如果对象是DOM元素的节点。
  • 'elements' - (string) 如果对象是元素的一个实例。
  • 'textnode' - (string) 如果对象是一个DOM文本节点。
  • 'whitespace' - (string) 如果对象是一个DOM空白节点。
  • 'arguments' - (string) 如果对象是一个arguments对象。
  • 'array' - (string) 如果对象是一个数组。
  • 'object' - (string) 如果对象是一个对象。
  • 'string' - (string) 如果对象是一个字符串。
  • 'number' - (string) 如果对象是一个数字。
  • 'date' - (string) 如果对象是一个日期。
  • 'boolean' - (string) 如果对象是一个布尔值。
  • 'function' - (string) 如果对象是一个函数。
  • 'regexp' - (string) 如果对象是一个正则表达式。
  • 'class' - (string) 如果对象是一个类(创建新类或另一个类的扩展)。
  • 'collection' - (string) 如果对象是一个本地的HTML元素的集合,如用childNodes或用getElementsByTagName到得的元素集。
  • 'window' - (string) 如果对象是window对象。
  • 'document' - (string) 如果对象是document对象。
  • 'domevent' - (string) 如果对象是一个事件。
  • 'null' - (string) 如果对象为 undefined, null, NaN 或其它。

例如:

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

注意:

这种方法相当于MooTools 1.2的$type,除了undefined,null值返回字符串'null',而不是false。

Function: instanceOf

检查一个对象是否为一个特定类型的实例。

语法:

instanceOf(item, object)

参数:

  1. 1.item - (mixed) 对象实例。
  2. 2.object - (mixed) 目标类型。

返回:

  • (boolean) item是否为object的一个实例

例子:

var foo = [];
instanceOf(foo, Array) // 返回 true
instanceOf(foo, String) // 返回 falsevar myClass = new Class();
var bar = new myClass();
instanceOf(bar, myClass) // 返回 true

类型

MooTools的延伸原生类型,如字符串,数组或数字,使他们更加有效。

MooTools的使用的类型有:

  • String
  • Array
  • Number
  • Function
  • RegExp
  • Date
  • Boolean

MooTools自定义的类型有:

  • Element
  • Elements
  • Event

Type method: implement

该方法实现一个类型的原型方法。

语法:

myType.implement(name, method);或 myType.implement(methods);

参数:

  1. name - (string) 方法名.
  2. method - (function) 方法函数.

  1. methods - (object) 一(键:值)对象 , 关键是方法名,值是方法函数。

返回:

  • (object) 该类型.

例子:

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); // 返回 [1, 2, 3, 4, 4, 4]

也可以传递一个对象:

String.implement({
repeat: function(times){
var string = '';
while (times--) string += this;
return string;
},
ftw: function(){
return this + ' FTW!';
}
});'moo! '.repeat(3); // 返回 "moo! moo! moo! "
'MooTools'.ftw(); // 返回 "MooTools FTW!"
('MooTools'.ftw() + ' ').repeat(2); // 返回 "MooTools FTW! MooTools FTW! "

Type method: extend

对一个类型增加一个或多个方法。

语法:

myType.extend(name, method); 或 myType.extend(methods);

参数:

  1. name - (string) 方法名。
  2. method - (function) 方法函数。

  1. methods - (object) 一(键:值)对象 , 关键是方法名,值是方法函数。

返回:

  • (object) 该类型。

例子:

RegExp.extend('from', function(regexp, flags){
return new RegExp(regexp, flags);
});Number.extend('parseCurrency', function(currency){
//取得一个字符串并转换成数组,然后进行特定计算
});

Generics

大多数类型的方法可以做为通用方法,有现有的JavaScript方法,MooTools增加的方法,或自己扩展的方法。

例如:

var everyArgBiggerThanTwo = function(){
// 代替这个
return Array.prototype.every.call(arguments, someFunction);
// 你能用
return Array.every(arguments, someFunction);
};

这是有用的,如果使用某种类型的方法,用做另一种类型的方法。如上面的例子,它使用的Arguments类型,不是一个真正的数组,所以arguments.every(fn)行不能。但是Array.every(arguments, fn)没问题在MooTools中。

语法:

Type.methodName(thisArg[, arg1, arg2, ...]);

参数:

  1. thisArg - (mixed) 该参数通常用法thisArg.method([arg1, arg2, ...]);.
  2. arg1, arg2, ... - (mixed) 方法参数的附加参数。

返回:

  • (mixed) 方法返回的任何值。