Core包含了Mootools的常用功能
Function: typeOf
返回对象的类型
语法:
typeOf(obj)
参数:
1.obj-(对象)待检查的对象
返回值
'element' - (string) 如果对象是DOM元素节点
'elements' - (string) 如果对象是元素的实例
'textnode' - (string) 如果对象是DOM文本节点
'whitespace' - (string) 如果对象是一个DOM空白节点
'arguments' - (string) 如果对象是一个参数对象。.
'array' - (string) 如果对象是一个数组.
'object' - (string) 如果对象是一个对象.
'string' - (string) 如果对象是字符串.
'number' - (string) 如果对象是数字.
'date' - (string) 如果对象是日期.
'boolean' - (string) 如果对象是布尔值.
'function' - (string) 如果对象是一个函数.
'regexp' - (string) 如果对象是正则表达式.
'class' - (string) 如果对象是一个类 (新创建的或者其他类扩展的类).
'collection' - (string) 如果对象是一个HTML元素的集合,像子节点或者使用getElementsByTagName获取的
'window' - (string) 如果对象是 window 对象.
'document' - (string) 如果对象是document 对象.
'domevent' - (string) 如果对象是事件.
'null' - (string) 如果对象是 undefined, null, NaN 或非以上列出的.
示例:
var myString = 'hello'; typeOf(myString); // returns "string"
注意:
这个方法等同于Mootools1.2中的$type方法,异常undefined和null值返回字符串'null',而不是false
Function: instanceOf
检查对象是否为一个特定类型的实例
语法:
instanceOf(item, object)
参数:
item - (mixed) 检查的对象.
object - (mixed) 用于比较的类型.
返回值:
(boolean) 如果 item 是object的实例返回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
类型
MooTools 扩展了原生类型, 像 string, array 和 number.
MooTools使用的类型:
String
Array
Number
Function
RegExp
Date
Boolean
MooTools自定义的类型:
Element
Elements
Event
Type method: implement
在类型的原型(prototype)上实现新的方法
语法:
myType.implement(name, method);
或
myType.implement(methods);
参数:
name - (string) 方法名.
method - (function) 方法的功能(函数).
或者
methods - (object) 一个键值对对象(key-value). 键(key)对应方法名, 值(value)对应方法的功能(函数).
返回值:
(object) The type.
示例:
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]
它也可以传递一个对象方法:
String.implement({ repeat: function(times){ var string = ''; while (times--) string += this; return string; }, ftw: function(){ return this + ' FTW!'; } }); 'moo! '.repeat(3); // returns "moo! moo! moo! " 'MooTools'.ftw(); // returns "MooTools FTW!" ('MooTools'.ftw() + ' ').repeat(2); // returns "MooTools FTW! MooTools FTW! "
Type method: extend
添加一个或多个功能到类型,属于静态函数
语法:
myType.extend(name, method);
或
myType.extend(methods);
参数:
name - (string) The method name.
method - (function) The method function.
或
methods - (object) An object with key-value pairs. The key is the method name, the value is the method function.
返回值:
(object) The type.
示例:
RegExp.extend('from', function(regexp, flags){ return new RegExp(regexp, flags); }); Number.extend('parseCurrency', function(currency){ // takes a string and transforms it into a number to // do certain calculations });
Generics
作为通用功能,可用于大多数类型的方法。这些都是现有的JavaScript方法,MooTools增加的方法,或你实现自己的方法。
示例:
var everyArgBiggerThanTwo = function(){ // Instead of this return Array.prototype.every.call(arguments, someFunction); // you can use return Array.every(arguments, someFunction); };
This is useful if methods of a certain type should be used as function of another type. As the example above, it is used for the Arguments type, which is not a real array, so arguments.every(fn) would not work. However, Array.every(arguments, fn) does work in MooTools.
语法:
Type.methodName(thisArg[, arg1, arg2, ...]);
参数:
thisArg - (mixed) This is the subject, which is usually thisArg.method([arg1, arg2, ...]);.
arg1, arg2, ... - (mixed) Additional arguments which will be passed as method arguments.
返回值:
(mixed) Anything the method usually returns.
原文:http://mootools.net/docs/core/Core/Core
打算翻译mootools文档,翻译起来感觉有的不知道怎么表达出来合适,很多未翻译,希望大家指正或一起翻译或提供翻译