Prototype Framework
1. Prototype对象
Prototype对象是一个全局对象,在该对象中声明了程序包的版本,并且提供了一些全局工具。
Prototype对象属性
| |
属性
|
描述
|
Version | 字符串表示的版本号 |
emptyFunction | 空函数 |
K(x) | 该函数的作用是返回参数x |
ScriptFragment | 用于识别脚本的正则模式,为全局常量,值为:'<script[^>]*>([//S//s]*?)<//script>' |
2. Class对象
Class对象在声明其他对象的时候被用到。用它声明的对象使新对象支持initialize()方法,实际上该对象也只是起到把构造方法封装为initialize()方法的作用。
Class对象的方法
| |
方法
|
描述
|
create() | 定义新对象的构造方法 |
3. Abstract对象
该对象没有任何属性和方法,该对象中定义的对象被视为抽象类。
4. 对Object对象的扩展
Object对象的扩展常用方法
| |
方法
|
描述
|
extend(destination,source) | 复制source对象的所有属性到destination对象,实现继承 |
inspect(targetObj) | 返回关于targetObj对象的文字描述,如果对象实例没有定义一个inspect方法,默认调用该对象的toString方法 |
执行Object.extend()方法时,仅保证在此之前对象源对象定义的方法及属性的继承。执行该方法后,对象于源对象补充的方法和属性目标对象继承不了。
5. Function对象的扩展
Function对象的扩展常用方法
| |
方法
|
描述
|
bind(obj,arg1,arg2,...) | 将该函数绑定到某个对象obj。arg1,arg2,...作为传递给该函数的参数 |
bindAsEventListener(obj) | 用法同bind一样,不过该方法被用来绑定事件 |
6. Number对象的扩展
Number对象的扩展常用方法
| |
方法
|
描述
|
toColorPart() | 把RGB颜色转换为十六进制表示形式 |
succ() | 将数值加1后返回 |
times(iterator) | 反复调用指定次数的iterator函数 |
7. Try对象
Try.these()方法的参数为函数类型,它将依次执行直到其中的一个成功执行,一旦成功执行一个函数就结束,并返回该函数的返回值。
8. PeriodicalExecuter对象
通过该对象,实现依照一定间隔时间重复调用某个方法。
PeriodicalExecuter对象的方法
| |
方法
|
描述
|
PeriodicalExecuter(callback,interval) | 构造函数,创建这个对象的实例将会每隔interval秒重复调用callback方法 |
PeriodicalExecuter对象的属性
| |
属性
|
描述
|
callback | 被调用的方法,该方法不能传入参数 |
frequency | 以秒为单位的间隔 |
currentlyExecuting | 表示这个方法是否正在执行 |
9. $()函数
$()方法是document.getElementById()方法的简写,参数为元素id。传入多个参数则返回对象数组。
10. String对象的扩展
String对象的扩展常用方法
| |
方法
|
描述
|
stripTags() | 返回把所有的HTML或XML标记都移除的字符串 |
stripScripts | 返回把所有的脚本代码都移移除的字符串 |
escapeHTML() | 返回把所有的HTML标记进行转义后的字符串 |
unescapeHTML() | escapeHTML()的逆操作 |
extractScripts() | 返回包含在字符串的所有由脚本组成的数组 |
evalScripts() | 执行在字符串中找到的所有脚本 |
toQueryParams() | 把查询字符串分割为name做index的联合数组 |
parseQuery() | 即toQueryParams()方法 |
toArray() | 将字符串转换成字符数组 |
camelize() | 去除字符串中的连字符,并将连字符后的字母改为大写 |
11. Enumerable对象
Enumerable对象能够以更好的方式实现对集合元素进行枚举。
Enumerable对象的方法
| |
方法
|
描述
|
each(iterator) | 调用iterator函数,把集合中的每个元素及索引作为两个参数 |
all([iterator]) | 以iterator函数测试整个集合,如果集合中存在元素在iterator函数测试中返回false或null,那么这个函数返回false,否则返回true。如果没有给出iterator,那么就会测试所有的元素是不是不等于false或null |
any([iterator]) | 以iterator函数测试整个集合,如果集合中任一元素在iterator函数测试中返回true,那么这个函数返回true,否则返回false。如果没有给出iterator,那么就会测试所有的元素是不是有一个不等于false或null |
collect(iterator) | 以iterator函数测试整个集合并取得所有返回值,然后按照原来集合中的顺序,返回一个数组 |
detect(iterator) | 以iterator函数测试整个集合,返回第一个使Iterator返回true的元素,如果始终没有true的调用,那么返回null |
entries() | 同toArray() |
find(iterator) | 同detect() |
findAll(iterator) | 以iterator函数测试整个集合,选取返回值为true的元素组成的数组和reject()相反 |
grep(pattern[,iterator]) | 用pattern指定的正则表达式测试集合中的每个元素,返回匹配正则表达式的元素的数组,如果给出了iterator函数,则匹配后的元素要调用iterator函数 |
include(obj) | 判断集合中包不包含指定对象 |
inject(initialValue,iterator) | 注意:此处iterator函数形式为Function(accumulator,value,index) 以iterator函数连接集合中元素。iterator在被调用时把上一次迭代的结果作为第一个参数传给accumulator。第一次迭代时,accumulator等于initialValue,最后返回accumulator |
invoke(methodName[,arg1[,arg2]...]) | 对集合中的元素调用指定方法,传入给出的参数,返回由调用结果组成的数组 |
map(iterator) | 同collect() |
max([iterator]) | 返回集合中最大值,如果给出了iterator函数则返回该函数返回值中最大值 |
member(obj) | 同include() |
min([iterator]) | 返回集合中最小值,参见max() |
partition([iterator]) | 返回一个包含两个数组的数组,第一个数组包含所有调用iterator返回true的元素,第二个数组包含剩下的元素。如果iterator没有给出,那么就根据元素本身判断 |
pluck(propertyName) | 返回由每个元素的指定属性名的属性值组成的数组 |
reject(iterator) | 和findAll()相反,返回所有等于false的元素 |
select(iterator) | 同findAll() |
sortBy(iterator) | 返回根据每个元素调用iterator函数的返回值进行排序组成的数组 |
toArray() | 返回由集合所有元素组成的一个数组 |
zip(collection1[,collection2,... [,iterator]]) | 合并每个给出的集合到当前集合,合并操作返回新的数组,新数组的每个元素又是一个子数组,它由所有集合中相同index的元素组成。如果transform函数被指定,那么数组中的每个元素还会调用transform函数先做处理 |
12. $A()函数
将接收到的可枚举参数转换成一个Array对象。
13. Array对象的扩展
Array对象扩展于Enumerable,因此也具有Enumerable对象的函数。
Array对象的扩展方法
| |
方法
|
描述
|
clear() | 清空数组,令其长度为0 |
compact() | 将原数组中非null,非undefined元素复制到新数组,返回新数组 |
first() | 返回数组中的第一个元素 |
flatten() | 将含有数组类型元素的数组平展为一维数组,返回新数组 |
indexOf(value) | 返回索引为value的元素,如果在该位置没有找到对象,则返回-1 |
inspect() | 重载inspect(),返回对于数组每个元素的更详细的描述 |
last() | 返回数组中的最后一个元素 |
reverse([false]) | 返转数组中元素的顺序,如果参数为false,则原数组中元素的顺序保持不变 |
shift() | 移除数组中的第一个元素,并返回该元素 |
without(value1,...) | 返回把参数列表中元素从原数组中排除的新数组 |
14. Hash对象
Hash对象实现一种Hash结构,是一个key:value对的集合。Hash中每个Item是含有两个元素(key和value)的数组。
Hash对象的方法
| |
方法
|
描述
|
keys() | 返回所有由Item的key组成的数组 |
values() | 返回所有由Item的value组成的数组 |
merge(otherHash) | 返回一个Hash类型的新对象,该对象由原Hash对象与otherHash合并而成 |
toQueryString() | 以查询字符串的形式返回Hash中所有的Item |
inspect() | 该方法显示Hash对象中的key:value对 |
15. $H()函数
将其参数对象转换成一个可枚举的和联合数组类似的Hash对象。
16. ObjectRange对象
该对象继承自Enumerable,用最小、最大下标描述一个对象范围。$R()函数是ObjectRange(start,end,exclusive)的缩写.
ObjectRange对象的属性
| |
属性
|
描述
|
start | 最小下标 |
end | 最大下标 |
exclusive | 决定是否包含最大下标。为true表明不包含最大下标 |
ObjectRange对象的方法
| |
方法
|
描述
|
ObjectRange(start,end,exclusive) | 构造函数。创建一个ObjectRange对象,包含从start到end(参数exclusive决定是否包含end) |
include(value) | 检查一个value是不是在ObjectRange对象中 |