`
friping
  • 浏览: 133941 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

prototype.js 参考(四)

    博客分类:
  • js
阅读更多
对  Array的扩展
因为array扩展于enumerable,所以所有enumberable对象的函数,array都是可以使用的,除此之外,下面的这些也是已经实现了的。
Method Kind Arguments Description
clear() instance (none) 清空。
compact() instance (none) 返回一个不包括源array中null或undefined元素的array,此方法不改变源array。
first() instance (none) 返回array的第一个对象。
flatten() instance (none) 通过递归组合array每个元素的子元素(如果该元素也是array)来返回一个“扁平的”一维的array。
indexOf(value) instance value: what you are looking for. 返回给出数字位置(从0算起)的元素,如果在该位置没有找到对象,返回-1。
inspect() instance (none) 重载inspect(),返回更好格式的反映Array每个元素的字符描述。
last() instance (none) 返回最后一个元素。
reverse([applyToSelf]) instance applyToSelf: indicates if the array itself should also be reversed. 反转Array中元素的顺序,如果没有给出参数,或参数为true,则源Array中元素的顺序也反转,否则源Array保持不变。
shift() instance (none) 返回Array的第一个元素并从Array中移除它,Array的Length-1。
without(value1 [, value2 [, .. valueN]]) instance value1 ... valueN: values to be excluded if present in the array. 返回一个把参数列表中包含的元素从源Array中排除的Array。
document DOM扩展
Method Kind Arguments Description
getElementsByClassName(className [, parentElement]) instance className: name of a CSS class associated with the elements, parentElement: object or id of the element that contains the elements being retrieved. 返回所有CSS className属性等于className参数的元素,如果没有给出parentElement,那么将搜索document body。(此处使用document.body我觉得不如使用document,因为有时有的页面没有body) 
Event扩展
Property Type Description
KEY_BACKSPACE NumberNumber 8: Constant. Code for the Backspace key.
KEY_TAB Number 9: Constant. Code for the Tab key.
KEY_RETURN Number 13: Constant. Code for the Return key.
KEY_ESC Number 27: Constant. Code for the Esc key.
KEY_LEFT Number 37: Constant. Code for the Left arrow key.
KEY_UP Number 38: Constant. Code for the Up arrow key.
KEY_RIGHT Number 39: Constant. Code for the Right arrow key.
KEY_DOWN Number 40: Constant. Code for the Down arrow key.
KEY_DELETE Number 46: Constant. Code for the Delete key.
observers: Array List of cached observers. Part of the internal implementation details of the object.
Method Kind Arguments Description
element(event) static event: an Event object 返回事件源对象。
isLeftClick(event) static event: an Event object 如果点击了鼠标左键,返回true.
pointerX(event) static event: an Event object 返回鼠标的X座标。
pointerY(event) static event: an Event object 返回鼠标的Y座标。
stop(event) static event: an Event object 使用此函数来中断事件的默认行为并阻止传递(冒泡)。
findElement(event, tagName) static event: an Event object, tagName: name of the desired tag. 从事件源对象开始向上搜索DOM树,直到找到第一个符合tagName的元素
observe(element, name, observer, useCapture) static element: object or id, name: event name (like 'click', 'load', etc), observer: function to handle the event, useCapture: if true, handles the event in the capture phase and if false in the bubbling phase. 为对象的某个事件增加一个处理函数。
stopObserving(element, name, observer, useCapture) static element: object or id, name: event name (like 'click'), observer: function that is handling the event, useCapture: if true handles the event in the capture phase and if false in the bubbling phase. 和上面的函数相反。
_observeAndCache(element, name, observer, useCapture) static 私有函数,别管它。
unloadCache() static (none) 私有函数,别管它。从内存中清除所有的observers缓存。
下面代码演示如何给window添加一个load事件处理函数。
<script>

Event.observe(window, 'load', showMessage, false);
function showMessage() {
alert('Page loaded.');
}
</script>
在prototype.js中定义新的对象和类
另一个这个程序包帮助你的地方就是提供许多既支持面向对象设计理念又有共通功能的许多对象。
The PeriodicalExecuter object
这个对象提供一定间隔时间上重复调用一个方法的逻辑。
Method Kind Arguments Description
[ctor](callback, interval) constructor callback: a parameterless function, interval: number of seconds 创建这个对象的实例将会重复调用给定的方法。
Property Type Description
callback Function() 被调用的方法,该方法不能传入参数。
frequency Number 以秒为单位的间隔。
currentlyExecuting Boolean 表示这个方法是否正在执行。
The Prototype object
Prototype 没有太重要的作用,只是声明了该程序包的版本 。
Property Type Description
Version String 版本。
emptyFunction Function() 空函数。
K Function(obj) 一个仅仅回传参数的函数。
ScriptFragment String 识别script的正则式。
The Enumerable object
Enumberable对象能够已更优雅的方式实现对列表样式的结构进行枚举。
很多其它的对象通过扩展自Enumberable对象来得到这些有用的接口。
Method Kind Arguments Description
each(iterator) instance iterator: a function object conforming to Function(value, index) 把每个element做为第一个参数,element的index作为第一个参数调用iterator函数。
all([iterator]) instance iterator: a function object conforming to Function(value, index) 这个函数会用给出的iterator测试整个集合,如果集合中任一元素在iterator函数测试中返回false或null,那么这个函数返回false,否则返回true。如果没有给出iterator,那么就会测试所有的元素是不是不等于false和null。你可以简单的把它看成是“检测每个元素都为非空非负”。
any(iterator) instance iterator: a function object conforming to Function(value, index), optional. 这个函数会用给出的iterator测试整个集合,如果集合中任一元素在iterator函数测试中返回true,那么这个函数返回true,否则返回false。如果没有给出iterator,那么就会测试所有的元素是不是有一个不等于false和null。你可以简单的把它看成是“检测元素中是不是有非空非负的”。
collect(iterator) instance iterator: a function object conforming to Function(value, index) 调用iterator函数根据集合中每个元素返回一个结果,然后按照原来集合中的顺序,返回一个Array。
detect(iterator) instance iterator: a function object conforming to Function(value, index) 集合中每个元素调用一次Iterator,返回第一个使Iterator返回True的元素,如果最终都没有为true的调用,那么返回null。
entries() instance (none) 等于toArray().
find(iterator) instance iterator: a function object conforming to Function(value, index) 等于 detect().
findAll(iterator) instance iterator: a function object conforming to Function(value, index) 集合中每个元素调用Iterator,返回一个由所有调用Iterator返回结果等于true的元素组成的数组。和reject()相反。
grep(pattern [, iterator]) instance pattern: a RegExp object used to match the elements, iterator: a function object conforming to Function(value, index) 用pattern参数正则表达式测试集合中的每个元素,返回一个包含所有匹配正则式的元素的Array,如果给出了Iterator,那个每个结果还要经过一下Iterator处理。
include(obj) instance obj: any object 判断集合中包不包含指定对象。
inject(initialValue, iterator) instance initialValue: any object to be used as the initial value, iterator: a function object conforming to Function(accumulator, value, index) 用Iterator联接所有集合中的元素。Iterator在被调用时把上一次迭代的结果做为第一个参数传给accumulator。第一次迭代时,accurmelator等于initialValue,最后返回accumulator的值。
invoke(methodName [, arg1 [, arg2 [...]]]) instance methodName: name of the method that will be called in each element, arg1..argN: arguments that will be passed in the method invocation. 集合中的每个元素调用指定的函数(查看源代码可以发现指定函数被调用时,this指针被传成当前元素),并传入给出的参数,返回调用结果组成的Array。
map(iterator) instance iterator: a function object conforming to Function(value, index) 同collect().
max([iterator]) instance iterator: a function object conforming to Function(value, index) 返回集合中元素的最大值,或调用Iterator后返回值的最大值(如果给出了Iterator的话)。
member(obj) instance obj: any object 同 include().
min([iterator]) instance iterator: a function object conforming to Function(value, index) 返回最小值,参见max()。
partition([iterator]) instance iterator: a function object conforming to Function(value, index) 返回一个包含两个Array的Array,第一个Array包含所有调用Iterator返回True的元素,第二个Array包含剩下的元素。如果Iterator没有给出,那么就根据元素本身判断。
pluck(propertyName) instance propertyName name of the property that will be read from each element. This can also contain the index of the element 返回每个元素的指定属性名的属性的值组成的Array。
reject(iterator) instance iterator: a function object conforming to Function(value, index) 和  findAll()相反(返回所有等于false的元素).
select(iterator) instance iterator: a function object conforming to Function(value, index) 同 findAll().
sortBy(iterator) instance iterator: a function object conforming to Function(value, index) 根据每个元素调用Iterator返回的值进行排序返回一个Array。
toArray() instance (none) 返回由集合所有元素组成的一个Array。
zip(collection1[, collection2 [, ... collectionN [,transform]]]) instance collection1 .. collectionN: enumerations that will be merged, transform: a function object conforming to Function(value, index) 合并每个给出的集合到当前集合。合并操作返回一个新的array,这个array的元素个数和原集合的元素个数一样,这个array的每个元素又是一个子array,它合并了所有集合中相同index的元素。如果transform函数被指定,那么array的每个元素还会调用transform函数先做处理。举个例子: [1,2,3].zip([4,5,6], [7,8,9]).inspect() 返回 "[ [1,4,7],[2,5,8],[3,6,9] ]"
The Hash object
Hash对象实现一种Hash结构,也就是一个Key:Value对的集合。
Hash中的每个Item是一个有两个元素的array,前一个是Key,后一个是Value,每个Item也有两个不需加以说明的属性,key和value。
Method Kind Arguments Description
keys() instance (none) 返回所有Item的key的集合的一个array。
values() instance (none) 返回所有Item的value的集合的一个array。
merge(otherHash) instance otherHash: Hash object 合并给出的Hash,返回一个新Hash。
toQueryString() instance (none) 以QueryString那样的样式返回hash中所有的item,例如: 'key1=value1&key2=value2&key3=value3'
inspect() instance (none) 用一种合适的方法显示hash中的key:value对。
The ObjectRange class
继承自  Enumerable
用上、下边界描述一个对象区域。
Property Type Kind Description
start (any) instance range的下边界
end (any) instance range的上边界
exclusive Boolean instance 决定边界自身是不是range的一部分。
Method Kind Arguments Description
[ctor](start, end, exclusive) constructor start: the lower bound, end: the upper bound, exclusive: include the bounds in the range? 创建一个range对象,从start生成到end,这里要注意的是,start和end必段类型一致,而且该类型要有succ()方法。
include(searchedValue) instance searchedValue: value that we are looking for 检查一个value是不是在range中。
The Class object
在这个程序包中 Class 对象在声明其他的类时候被用到 。用这个对象声明类使得新类支持 initialize() 方法,他起构造方法的作用。
看下面的例子
//declaring the class
var MySampleClass = Class.create();

//defining the rest of the class implmentation
MySampleClass.prototype = {

   initialize: function(message) {
this.message = message;
   },

   showMessage: function(ajaxResponse) {
      alert(this.message);
   }
};

//now, let's instantiate and use one object
var myTalker = new MySampleClass('hi there.');
myTalker.showMessage(); //displays alert
Method Kind Arguments Description
create(*) instance (any) 定义新类的构造方法。
分享到:
评论

相关推荐

    prototype.js简介

    **描述:** prototype.js 是一个JavaScript库,主要目的是为了简化JavaScript的开发,提升开发效率。它通过扩展JavaScript的基本对象和类型,提供了丰富的功能,包括类式继承、面向对象编程的支持以及一些实用的DOM...

    prototype.js

    《prototype.js:JavaScript框架的核心与应用》 在Web开发领域,JavaScript库和框架极大地提高了开发效率,其中Prototype.js就是一款非常流行的开源JavaScript框架。本文将深入探讨Prototype.js的核心概念、功能...

    prototype.js 1.4-1.6[全]

    《Prototype.js 1.4-1.6:JavaScript 动态原型框架的探索与实践》 Prototype.js 是一个广泛使用的JavaScript库...总的来说,Prototype.js 1.4-1.6[全]是一份宝贵的资源,对于JavaScript开发者来说具有很高的参考价值。

    prototype.js 1.6中文手册、prototype.js 1.6英文手册、

    **Prototype.js 1.6 知识点详解** Prototype.js 是一个开源的JavaScript库,它扩展了JavaScript语言,为开发者提供..."prototypeAPI"这个文件可能包含了Prototype.js的API参考文档,是学习和查阅该库功能的重要资源。

    prototype.js中文手册

    **《prototype.js中文手册》详解** Prototype.js 是一个开源JavaScript...《prototype.js中文手册》是深入理解并掌握这个库的宝贵资源,涵盖了从基础到高级的各种知识点,对于前端开发者来说是一本不可多得的参考书。

    prototype.js 1.4版开发者手册(强烈推荐)

    《prototype.js 1.4版开发者手册》是JavaScript开发领域中的一个重要参考资料,尤其对于那些希望深入理解并利用Prototype库的开发者来说,它是一份不可多得的资源。Prototype.js是一个强大的JavaScript库,由Sam ...

    prototype.js jquery.js 打包下载(包含各自的API)

    Prototype.js是最早期的JavaScript框架之一,它的设计目标是增强JavaScript的基本功能,使得JavaScript的面向对象编程更加简洁和强大。Prototype的核心特性包括: 1. **对象扩展**:Prototype通过扩展JavaScript的...

    prototype.js.cn.doc.rar

    学习Prototype.js,可以参考其官方文档(如提供的CHM文件),以及社区中的教程和示例代码。Stack Overflow、GitHub和网上论坛都有很多关于Prototype.js的问题解答和讨论,是提升技能的好去处。 总结,Prototype.js...

    Prototype.js 1.6.0.3 及中文CHM帮助文档

    Prototype.js 是一个广泛使用的JavaScript库,它为JavaScript编程提供了丰富的功能和便利,旨在简化和优化在浏览器环境中进行的脚本编写。1.6.0.3 版本是该库的一个稳定版本,它包含了对先前版本的改进和修复,以...

    prototype.js开发笔记.pdf

    Prototype.js是一个JavaScript库,由Sam Stephenson编写,用于简化JavaScript编程,提供了许多有用的函数和方法,以帮助开发者快速构建Web应用程序。下面是Prototype.js的开发笔记,涵盖了该库的使用指南、Ajax对象...

    prototype.js手册

    万一你没有使用过大名鼎鼎的prototype.js,那么让我来告诉你,prototype.js是由Sam Stephenson写的一个javascript类库。这个构思奇妙,而且兼容标准的类库,能帮助你轻松建立有高度互动的web2.0特性的富客户端...

    Prototype.js(v1.6)带中文chm手册

    Prototype.js 是一个JavaScript框架,它扩展了JavaScript语言,提供了许多实用的功能,以简化JavaScript开发。CHM(Compiled HTML Help)是微软的一种帮助文件格式,通常用于软件的用户手册或技术文档,这里用于存放...

    prototype.js开发笔记

    Prototype.js 参考 - **2.1 JavaScript 类的扩展**:Prototype.js 扩展了原生 JavaScript 类,提供了额外的功能。 - **2.2 对 Object 类的扩展**:增加了一些新的静态方法,如 `Object.extend()` 用于合并两个对象...

    prototype.js 源码解读, 中文帮助文档

    开发者网站: http://prototype.conio.net/ prototype学习资料包括: prototype14参考 prototype 1.3 源码解读.txt prototype 1.5 参考图 prototype 1.5pre1.js prototype 1.4.js

    prototype开发者手册(中文版)+prototype.js

    《Prototype开发者手册(中文版)》是一本专为JavaScript开发者准备的重要参考资料,它详细介绍了Prototype JavaScript框架的使用方法和核心概念。Prototype是一个广泛使用的开源JavaScript库,它的目标是简化...

    prototype.js 说明文档.doc

    《prototype.js 说明文档》是关于JavaScript库prototype.js的详细指南,主要涵盖了其核心概念、通用方法以及Ajax对象的使用等内容。Prototype是一个由Sam Stephenson编写的JavaScript库,旨在简化和增强JavaScript...

    prototype.js源码及PDF文档

    总结来说,《prototype.js源码及PDF文档》是JavaScript开发者的一份宝贵参考资料,它不仅提供了实际的代码示例,还有详细的理论指导,对于提升JavaScript技能和深入理解Prototype框架有极大的帮助。无论是初学者还是...

    prototype.js1.6的帮助文档

    这份帮助文档不仅是一份API参考,更是一份学习Prototype.js的宝贵资料。 1. **对象与类的扩展** Prototype.js 1.6引入了类的模拟,通过`Class.create()`方法可以创建类。它还提供了`Object.extend()`方法用于对象...

    prototype.js开发笔记.doc

    【描述】:本文档主要涵盖了Prototype.js库的编程指南,包括其核心概念、通用方法、Ajax对象以及对JavaScript原生类型和DOM对象的扩展。Prototype.js是一个由Sam Stephenson编写的JavaScript库,旨在简化Web 2.0应用...

    json.js,json2.js,json.jar,prototype.js,prototype.chm

    4. prototype.js:Prototype是一个广泛使用的JavaScript库,它扩展了JavaScript的基本对象,为开发Web应用程序提供了便利。Prototype的核心特性包括DOM操作、Ajax支持以及强大的对象操作功能。其中,JSON支持是...

Global site tag (gtag.js) - Google Analytics