Mootools | My Object Oriented javascript. |
MIT-style license.
copyright (c) 2007 Valerio Proietti, http://mad4milk.net
Core.js | |
核心函数 | |
函数 | |
$defined | 如果传入的参数为null或undefined,则返回fasle;否则返回true; |
$type | 返回传入对象的类型 |
$merge | 把几个对象进行合并,合并是递归的,即对象中如果有子对象,则子对象也会进行合并。(对象中同名属性会被这一系列对象中最后一个拥有该属性的对象的值替代) |
$extend | 把参数中第二个参数的对象的所有熟悉复制到第一个参数对象中 |
$native | 给传入的对象(自定义对象或javascript原生对象)增加一个.extend方法,这个extend方法可以用来给原来的对象添加属性(注意,如果这些属性在原来的对象上不存在,则这些属性将被加在原来对象的prototype上面) |
$chk | 如果传入的参数对象存在或有值(包括 0),则返回true; 否则返回false。 |
$pick | 如果第一个给出的参数存在,则返回这个参数的值;否则返回给出的第二个参数。 |
$random | 传入一个上限和一个下限,返回一个介于其间的随机数 |
$time | 返回一个时间戳 |
$clear | 清理Timeout或Interval |
Abstract | Abstract类, 被当作单例来使用. |
window | 一些附加到window对象上属性,用来进行浏览器类型的判断 |
Functions | |
$defined | 如果传入的参数为null或undefined,则返回fasle;否则返回true; |
$type | 返回传入对象的类型 |
$merge | 把几个对象进行合并,合并是递归的,即对象中如果有子对象,则子对象也会进行合并。(对象中同名属性会被这一系列对象中最后一个拥有该属性的对象的值替代) |
$extend | 把参数中第二个参数的对象的所有熟悉复制到第一个参数对象中 |
$native | 给传入的对象(自定义对象或javascript原生对象)增加一个.extend方法,这个extend方法可以用来给原来的对象添加属性(注意,如果这些属性在原来的对象上不存在,则这些属性将被加在原来对象的prototype上面) |
$chk | 如果传入的参数对象存在或有值(包括 0),则返回true; 否则返回false。 |
$pick | 如果第一个给出的参数存在,则返回这个参数的值;否则返回给出的第二个参数。 |
$random | 传入一个上限和一个下限,返回一个介于其间的随机数 |
$time | 返回一个时间戳 |
$clear | 清理Timeout或Interval |
如果传入的参数为null或undefined,则返回fasle;否则返回true;
obj | 要进行检查的对象 |
返回传入对象的类型
obj | 要进行检查的对象 |
var myString = 'hello'; $type(myString); //返回 "string"
’element’ | DOM元素节点 |
’textnode’ | DOM文本节点 |
’whitespace’ | DOM空白节点 |
’arguments’ | arguments对象 |
’object’ |
普通的对象 |
’string’ |
字符串 |
’number’ |
数字 |
’boolean’ |
布尔值 |
’function’ |
函数 |
’regexp’ | 正则表达式 |
’class’ | Class (用Mootooles的new Class创建, 或继承自另一个Class). |
’collection’ | 原生HTML元素集合,例如由一下方法得到的:childNodes, getElementsByTagName .. 等等. |
false | 如果参数为定义,或则以上列出的都不是 |
把几个对象进行合并,合并是递归的,即对象中如果有子对象,则子对象也会进行合并。(对象中同名属性会被这一系列对象中最后一个拥有该属性的对象的值替代)
任意个数的对象
var obj1 = {a: 0, b: 1};
var obj2 = {c: 2, d: 3};
var obj3 = {a: 4, d: 5};
var merged = $merge(obj1, obj2, obj3); //返回: {a: 4, b: 1, c: 2, d: 5}
var nestedObj1 = {a: {b: 1, c: 1}};
var nestedObj2 = {a: {b: 2}};
var nested = $merge(nestedObj1, nestedObj2); //返回: {a: {b: 2, c: 1}}
把参数中第二个参数的对象的所有熟悉复制到第一个参数对象中。
如果如下:
myWhatever.extend = $extend
则$extend的第一个参数变为myWhatever, 因此调用myWhatever的extend方法就只需要一个参数就可以了
var firstOb = { 'name': 'John', 'lastName': 'Doe' }; var secondOb = { 'age': '20', 'sex': 'male', 'lastName': 'Dorian' }; $extend(firstOb, secondOb);
//firstOb将变为: { 'name': 'John', 'lastName': 'Dorian', 'age': '20', 'sex': 'male' };
经过扩展的第一个参数对象
给传入的对象(自定义对象或javascript原生对象)增加一个.extend方法,这个extend方法可以用来给原来的对象添加属性
(注意,如果这些属性在原来的对象上不存在,则这些属性将被加在原来对象的prototype上面)
一系列的Class或Javascript原生类(如Array,Number,String等)
如果传入的参数对象存在或有值(包括 0),则返回true; 否则返回false。对于接受0值的情况非常有用。
obj | 要进行检查的对象 |
如果第一个给出的参数存在,则返回这个参数的值;否则返回给出的第二个参数。
obj | 要进行检查的对象 |
picked | 默认值 |
function say(msg){ alert($pick(msg, 'no meessage supplied')); }
传入一个上限和一个下限,返回一个介于其间的随机数
min | 整数,下限(包含) |
max | 整数, 上限(包含) |
介于上下限的随机整数值
返回当前时间戳
代表时间戳的整数
清理Timeout或Interval.
null
timer | 由setInterval或setTimeout产生的对象 |
var myTimer = myFunction.delay(5000); //产生一个5秒后执行myFunction的任务. myTimer = $clear(myTimer); //取消上面的任务
Abstract类, 被当作单例来使用。 它将给对象加入一个.extend方法
一个对象
带有.extend属性的对象, 等同于 $extend.
var Site = new Abstract({
name: 'MooTools',
welcome: function(){
alert('Welcome to ' + this.name + '!');
}
});
alert(Site.name); //显示 'MooTools'
Site.welcome(); //显示 'Welcome to MooTools!'
一些附加到window对象上属性,用来进行浏览器类型的判断
window.ie | 如果当前浏览器是internet explorer (版本不限),返回true |
window.ie6 | 如果当前浏览器是nternet explorer 6,返回true |
window.ie7 | 如果当前浏览器是internet explorer 7,返回true |
window.gecko | 如果当前浏览器是Mozilla/Gecko,返回true |
window.webkit | 如果当前浏览器是Safari/Konqueror,返回true |
window.webkit419 | 如果当前浏览器是Safari2 / webkit till version 419,返回true |
window.webkit420 | 如果当前浏览器是Safari3 (Webkit SVN Build) / webkit over version 419,返回true |
window.opera | 如果当前浏览器是opera,返回true |
Documentation by Aaron Newton & Mootools Developers, generated by NaturalDocs and tidy, and GeSHi
文档中文翻译:zarknight 勘误Email:zarknight@gmail.com asp之家