Prototype框架

Prototype使用学习手册指南之Range.js

Prototype中Range.js文件里的Range对象是一个继承自enumerable.js的Enumerable的"范围"对象,你可以把它看成[x,x+1,x+2,x+3……x+n]的数组看待,但是比这样的数组更节省存储空间,因为range对象只是保存x和x+n而已

如何去创建一个Range对象呢?下面大家一起来看下,要创建一个Range对象,只要调用$R(start, end, exclusive)这个函数就可以了,exclusive会指定是否包含end本身,如果没有指定或者其值为false 就会去包含end,否则将不包含end,你可以利用enumerable.js的Enumerable中定义的方法来操作Range.js文件里的range对象,ran ...


阅读全文 》

Prototype使用学习手册指南之Hash.js

Hash对象(关联数组)是Prototype新建的一个对象,也是属于Prototype的基本js类库,Prototype中的Hash只是javascript的关联数组(对象)而已。要创建一个Hash对象可以调用$H(object)方法,使用这个方法将生成一个基于object对象的Hash对象,生成的Hash对象将object的属性名作为key,将object的属性值最为键值,因为javascript本身的特点(对象本身就是关联数组) ,所以实现Hash也很简单。另外大家需要知道的是Prototype中的Hash对象继承自Enumerable对象,所以也具有Enumerable对象的所有属性和方法,它具有以下的方法:

keys(): 返 ...


阅读全文 》

Prototype使用学习手册指南之Array.js

$A = Array.from(iterable): 将iterable转化为数组,如果iterable定义了toArray方法,就调用这个方法,否则利用iterable的length属性进行枚举, 如果iterable没有length属性的话就返回空数组[]

Array对象除了扩展Enumerable对象的方法外,另外扩展了如下的几个方法,

注意以下方法除了clear外都不改变原来数组,而是返回一个新数组:

clear(): 清除数组,利用arr.length=0

first(): 返回第一个元素

last():返回最后一个元素

compact(): 去除数组中值为null或undefined的元素

flatten(): 将数组扁平化,例如[3,4 ...


阅读全文 》

Prototype使用学习手册指南之Enumerable.js

Enumerable是一个抽象对象。Enumerable不能直接使用,它被很多枚举类型(Hash、Array、Range等)所继承,继承的类型都要实现一个_each方法,提供具体类型的枚举方法。需要说明的是,javascript中并没有类的概念,所指的类也就是一个函数,继承一般指的是一个对象(父)将它的方法属性copy(通过Object.extend, copy的是引用)到子类(函数)的prototype属性(一个对象)中。

Enumerable为其他子类提供了如下的方法:

all(iterator): 对Enumerable类型中的每个值调用iterator,如果其中有一个返回false,则返回false,否则返回true,相 ...


阅读全文 》

Prototype使用学习手册指南之String.js

Prototype的目的是为了更方便的开发javascript的应用,使用它可以更加方便简单的使用javascript编程,开发出面向对象的javascript程序,Prototype中包含包含了一个功能强大好用的ajax框架,Prototype是一个基础性的框架,很多更高层次的框架都以它为基础,例如scriptaculous效果库。

下面介绍Prototype对String对象的扩展部分,本js的主要作用就是对String原型的扩展,为string添加了strip,escapeHTML等等好用的方法:

这部分主要为string对象添加了几个很有用的方法:

strip(): 去掉字符串两边的空白, 例如"

jj

".st ...


阅读全文 》

Prototype使用学习手册指南之base.js

一看名字就知道Class是基类了,先说下此类的作用,然后给大家细细的分析下base.js中的代码

类的创建与继承:

Class.create(): 创建一个类,例如 person=Class.create()

Object.extend(destination, source): 把source中方法属性copy到destination(使用for propertyin source),需要注意的是,javascript中除了基本类型(Number, Boolean)外都是引用类型,所以这种copy一般只是copy引用而已,destination和source还是指向同一个方法或对象属性(function array object)

这面向对象的编程中,一般通过Class.create新建一个类, ...


阅读全文 》

Prototype使用学习手册指南之序言

在写这个指南之前,先介绍一下Prototype主要是干吗的,如果你比较关注ajax/javascipt方面的应用,你应该早就听说过这个 javascript framework。 Prototype是一个基础的javascript应用框架,先引用一段官方网站的介绍

Prototype is a JavaScript framework that aims to ease development of dynamic web applications. Featuring a unique, easy-to-use toolkit for class-driven development and the nicest Ajax library around, Prototype is quickly becoming the codebase of choice for web application developers everywh ...


阅读全文 》

Prototype.js开发者手册

prototype.js是什么?

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

如果你最近尝试使用它,你大概了解到文档并不是作者的一个强项。和在我以前使用这个类库的不少开发者一样,一开始,我不得不一头扎进阅读prototype.js的源代码和实验它的功能中。我想,在我学习完它之后,把我学到的东西分享给大家是件不错的事。

同时,在本文中,我也将提供一个关于这个 ...


阅读全文 》

Prototype背景技术介绍

在写这个指南之前,先介绍一下Prototype主要是干吗的,如果你比较关注ajax/javascipt方面的应用,你应该早就听说过这个javascript framework。 Prototype是一个基础的javascript应用框架,先引用一段官方网站的介绍

Prototype is a JavaScript framework that aims to ease development of dynamic web applications. Featuring a unique, easy-to-use toolkit for class-driven development and the nicest Ajax library around, Prototype is quickly becoming the codebase of choice for web application developers everywhere ...


阅读全文 》