topFunction.js

包含了对Function类增加的一些原型方法以及一些工具函数。

License

MIT-style license.

Credits

  • Some functions are inspired by those found in prototype.js http://prototype.conio.net/ (c) 2005 Sam Stephenson sam [at] conio [dot] net, MIT-style license
概要
Function.js包含了对Function类增加的一些原型方法以及一些工具函数。
Function
属性
create用于创建闭包的主要函数
pass根据参数和要绑定的对象来创建闭包的快捷方法
attempt尝试执行本函数,并返回本函数的返回值或者当函数执行发生错误时,返回false。
bind用于创建绑定this引用对象的闭包(即可使闭包中的this指向你指定的对象)
bindAsEventListener创建闭包并自动传入一个Event实例,通常用来做事件监听器。
delay延迟函数的执行
periodical定时执行函数

topFunction

概要
属性
create用于创建闭包的主要函数
pass根据参数和要绑定的对象来创建闭包的快捷方法
attempt尝试执行本函数,并返回本函数的返回值或者当函数执行发生错误时,返回false。
bind用于创建绑定this引用对象的闭包(即可使闭包中的this指向你指定的对象)
bindAsEventListener创建闭包并自动传入一个Event实例,通常用来做事件监听器。
delay延迟函数的执行
periodical定时执行函数

top属性

topcreate

用于创建闭包的主要函数

返回值

创建的闭包函数

参数

options一个可选项对象。参考下面的可选项

可选项

bind函数中this所要引用的对象。默认为当前函数
event如果它的值设为true, 则函数将像一个事件监听器,函数的第一个参数将传入一个event。如果设为一个类名,则函数的第一个参数将传入一个这个类的实例 (这个类的构造方法的第一个参数将传入一个event)。默认为false.
arguments当函数闭包执行时将被传入的单个参数或一组参数

说明:如果event和arguments两个可选项同时被设置, 则event将作为闭包的第一个参数传入,而arguments指定的参数紧随其后。

delay如果设置了该项,则函数闭包执行的时候将延迟所指定的毫秒数之后开始正式执行。默认为不延迟。
periodical如果设置了该项,则函数闭包将每隔指定毫秒数执行一次。默认为不作定期执行。
attempt如果设置为true, 则创建的函数闭包将尝试执行并返回结果。默认为false。

toppass

根据参数和要绑定的对象来创建闭包的快捷方法

返回值

创建的闭包函数

参数

args要传入的参数。如果参数大于一个,则请使用数组
bind可选,函数中this所要引用的对象

示例

myFunction.pass([arg1, arg2], myElement);

topattempt

尝试执行本函数,并返回本函数的返回值或者当函数执行发生错误时,返回false。

参数

args要传入的参数。如果参数大于一个,则请使用数组
bind可选,函数中this所要引用的对象

示例

myFunction.attempt([arg1, arg2], myElement);

topbind

用于创建绑定this引用对象的闭包(即可使闭包中的this指向你指定的对象)

参数

bind要传入的参数。如果参数大于一个,则请使用数组
args可选,函数中this所要引用的对象

返回值

创建的闭包函数s

示例

function myFunction(){
   this.setStyle('color', 'red');
   // 注意,在这里的this引用的还是myFunction
   // 我们需要在创建闭包的时候绑定到需要设置样式的实际元素上去
}; 
var myBoundFunction = myFunction.bind(myElement); //myFunction中的this被和myElement绑定 myBoundFunction();

topbindAsEventListener

创建闭包并自动传入一个Event实例,通常用来做事件监听器。

参数

bind要传入的参数。如果参数大于一个,则请使用数组
args可选,函数中this所要引用的对象

返回值

一个绑定了this以及预传入参数event(或window.event,根据浏览器不同而不同)的函数闭包

示例

function myFunction(event){
   alert(event.clientx);
};
myElement.onclick = myFunction.bindAsEventListener(myElement);

topdelay

延迟函数的执行

参数

delay延迟的毫秒数
bind可选, 函数中this所要引用的对象
args可选, 要传入的参数。如果参数大于一个,则请使用数组

示例

myFunction.delay(50, myElement);         //延迟50毫秒后执行,绑定了myElement元素
(function(){alert('one second later...')}).delay(1000);    //一秒钟后alert

topperiodical

定时执行函数

参数

interval间隔毫秒数
bind可选, 函数中this所要引用的对象
args可选, 要传入的参数。如果参数大于一个,则请使用数组

Documentation by Aaron Newton & Mootools Developers, generated by NaturalDocs and tidy, and GeSHi

文档中文翻译:zarknight 勘误Email:zarknight@gmail.com asp之家