`

prototype.js用法

阅读更多
prototype.js 是什么 ?
万一你没有使用过大名鼎鼎的prototype.js,那么让我来告诉你,prototype.js是由Sam Stephenson写的一个javascript类库。这个构思奇妙,而且兼容标准的类库,能帮助你轻松建立有高度互动的web2.0特性的富客户端页面。
如果你最近尝试使用它,你大概了解到文档并不是作者的一个强项。和在我以前使用这个类库的不少开发者一样,一开始,我不得不一头扎进阅读prototype.js的源代码和实验它的功能中。我想,在我学习完它之后,把我学到的东西分享给大家是件不错的事。
同时,在本文中,我也将提供一个关于这个类库提供的objects,classes,functions,extensions这对东东的非官方参考
在阅读这个文档时,熟悉Ruby的开发者将会注意到Ruby的一些内建类和本类库扩展实现之间非常相似。
相关文章
Advanced JavaScript guide.
一些实用的函数
这个类库带有很多预定义的对象和实用函数,这些东东的目的显然是把你从一些重复的打字中解放出来 。
使用$()方法
$() 方法是在DOM中使用过于频繁的 document.getElementById() 方法的一个便利的简写,就像这个DOM方法一样,这个方法返回参数传入的id的那个元素。
比起DOM中的方法,这个更胜一筹。你可以传入多个id作为参数然后 $() 返回一个带有所有要求的元素的一个 Array 对象。
<HTML>
<HEAD>
<TITLE> Test Page </TITLE>
<script src="prototype-1.3.1.js"></script>
<script>
function test1()
{
var d = $('myDiv');
alert(d.innerHTML);
}
function test2()
{
var divs = $('myDiv','myOtherDiv');
for(i=0; i<divs.length; i++)
{
alert(divs[i].innerHTML);
}
}
</script>
</HEAD>
<BODY>
<div id="myDiv">
<p>This is a paragraph</p>
</div>
<div id="myOtherDiv">
<p>This is another paragraph</p>
</div>
<input type="button" value=Test1 onclick="test1();"><br>
<input type="button" value=Test2 onclick="test2();"><br>
</BODY>
</HTML>
另外一个好处是,这个函数能传入用string表示的对象ID,也可以传入对象本身,这样,在建立其它能传两种类型的参数的函数时非常有用。
使用$F()函数
$F()函数是另一个大收欢迎的"快捷键",它能用于返回任何表单输入控件的值,比如text box,drop-down list。这个方法也能用元素id或元素本身做为参数。
<script>
function test3()
{
alert(  $F('userName')  );
}
</script>
<input type="text" id="userName" value="Joe Doe"><br>
<input type="button" value=Test3 onclick="test3();"><br>
使用$A()函数
$A()函数能把它接收到的单个的参数转换成一个Array对象。
这个方法,结合被本类库扩展了的Array类,能方便的把任何的可枚举列表转换成或拷贝到一个Array对象。一个推荐的用法就是把DOM Node Lists转换成一个普通的Array对象,从而更有效率的进行遍历,请看下面的例子。
<script>
function showOptions(){
var someNodeList = $('lstEmployees').getElementsByTagName('option');
var nodes = $A(someNodeList);
nodes.each(function(node){
alert(node.nodeName + ': ' + node.innerHTML);
});
}
</script>
<select id="lstEmployees" size="10" >
<option value="5">Buchanan, Steven</option>
<option value="8">Callahan, Laura</option>
<option value="1">Davolio, Nancy</option>
</select>
<input type="button" value="Show the options" onclick="showOptions();" >
使用 $H()函数
$H()函数把一些对象转换成一个可枚举的和联合数组类似的Hash对象。
<script>
function testHash()
{
//let's create the object
var a = {
first: 10,
second: 20,
third: 30
};
//now transform it into a hash
var h = $H(a);
alert(h.toQueryString()); //displays: first=10&second=20&third=30
}
</script>
使用$R()函数
$R()是new ObjectRange(lowBound,upperBound,excludeBounds)的缩写。
跳到ObjectRange 类文档可以看到一个关于此类的完整描述. 此时,我们还是先来看一个例子以展示这个缩写能代替哪些方法吧。其它相关的一些知识可以在Enumerable 对象文档中找到。
<script>
function demoDollar_R(){
var range = $R(10, 20, false);
range.each(function(value, index){
alert(value);
});
}
</script>
<input type="button" value="Sample Count" onclick="demoDollar_R();" >
使用Try.these()函数
Try.these() 方法使得实现当你想调用不同的方法直到其中的一个成功正常的这种需求变得非常容易, 他把一系列的方法作为参数并且按顺序的一个一个的执行这些方法直到其中的一个成功执行,返回成功执行的那个方法的返回值。
在下面的例子中, xmlNode.text在一些浏览器中好用,但是xmlNode.textContent在另一些浏览器中正常工作。 使用Try.these()方法我们可以得到正常工作的那个方法的返回值。
<script>
function getXmlNodeValue(xmlNode){
    return Try.these(
        function()

Unknown macro: {return xmlNode.text;}
,
        function() {return xmlNode.textContent
        );
}
</script>
分享到:
评论

相关推荐

    prototype.js简介

    在prototype.js 1.4版本中,用户可以查找特定的方法、属性和类,了解其用法和参数。这对于学习和使用该库非常有帮助。 3. **Noname1.html** - 这可能是一个示例或测试页面,用于展示如何在实际项目中使用prototype....

    prototype_1.7.3.js 最新版本

    《prototype_1.7.3.js:JavaScript框架的里程碑》 在JavaScript的世界里,Prototype库是一个不可或缺的重要组成部分,尤其在Web开发领域,它为开发者提供了强大的功能和便利性。Prototype_1.7.3.js是这个库的一个...

    prototype.js文件使用和讲解

    以上就是关于`prototype.js`文件的基本介绍和使用方法。通过这个库,你可以更高效地进行JavaScript编程,实现丰富的Web交互功能。记得结合`prototype.js`开发手册,深入学习并熟练掌握其各种用法,提升你的...

    prototype.js

    1. **入门指南**:介绍如何引入Prototype.js到项目中,以及基本的使用方法。 2. **核心概念**:阐述Prototype.js的核心思想,如DOM操作、Ajax和事件处理。 3. **API参考**:详尽列举了所有提供的函数和方法,以及...

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

    通过阅读Prototype.js 1.6的中文和英文手册,开发者可以深入了解其用法和背后的原理,提高JavaScript编程效率,创建更具交互性和动态性的网页应用。"prototypeAPI"这个文件可能包含了Prototype.js的API参考文档,是...

    prototype.js 1.4-1.6[全]

    Prototype.js 是一个广泛使用的JavaScript库,它扩展了JavaScript语言的功能,为开发人员提供了更强大的面向对象编程支持。该库的核心特性是其对JavaScript原型(prototype)机制的深入利用,使得JavaScript对象的...

    prototype.js javaScript插件

    - **扩展JavaScript对象**:Prototype.js提供了一系列方法,如`extend`和`merge`,用于方便地合并和扩展对象属性,使得代码更加简洁和可维护。 - **DOM操作**:Prototype.js封装了对DOM元素的操作,比如`Element`类...

    prototype.js中文手册

    3. **对象扩展**:Prototype.js 基于JavaScript原型链实现类和对象的继承,提供了`Object.extend()` 和 `Class.create()` 方法,使得JavaScript具备更强大的面向对象编程能力。 4. **函数工具**:内置了一系列实用...

    prototype.js 1.6

    Prototype.js 是一个广泛使用的 JavaScript 库,它为浏览器环境提供了许多实用的功能,尤其是在对象操作和事件处理方面。1.6 版本是该库的一个重要里程碑,引入了许多改进和优化,使得开发人员能够更加高效地编写 ...

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

    5. **类与继承**:Prototype.js引入了模拟类的概念,通过`Class.create`可以创建新的类,并使用`Object.extend`进行类的继承,从而实现了JavaScript中的面向对象编程。 6. **JSON支持**:1.4版中,Prototype.js提供...

    prototype.js 实例

    在JavaScript的世界里,Prototype.js是一个著名的库,它扩展了JavaScript的内置对象,为开发者提供了更加便利的编程体验。本实例将深入探讨如何利用Prototype.js来实现弹出窗口和移动窗口的功能,这对于创建交互性强...

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

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

    在vs2005基于prototype.js的模态弹出窗口

    在Prototype.js中,可以使用`ModalBox`插件或者自定义JavaScript代码来实现这一效果。`ModalBox`是Prototype.js的一个扩展,提供了一种创建模态对话框的简单方式。 创建模态弹出窗口的步骤如下: 1. **HTML结构**...

    prototype.js.cn.doc.rar

    1. **对象扩展**:Prototype.js对JavaScript的内置对象进行了扩展,如Array、String、Function等,提供了许多便利的方法。例如,Array的`each()`方法用于遍历数组,String的`camelize()`方法用于将字符串转换为驼峰...

    javascript类库prototype.js

    Prototype.js 是一个强大的JavaScript类库,它为开发者提供了丰富的功能,使得创建具有高度互动性和Web2.0特性的富客户端页面变得更为简单。这个库的设计理念是扩展JavaScript的基础对象,提供一套统一且易于使用的...

    prototype.js 以及 找到的 相关使用详细说明

    Prototype.js是一个广泛使用的JavaScript库,它为JavaScript语言增加了许多实用功能,尤其在处理DOM操作、Ajax交互以及类(class)系统等方面提供了强大的支持。这个库的名字“Prototype”来源于JavaScript中的一个...

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

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

    prototype 开发应用手册,笔记,prototype.js文件下载

    总结,Prototype.js是JavaScript开发中的一个重要工具,它通过一系列强大的API和设计模式,使得JavaScript的开发更加高效、优雅。通过学习和掌握Prototype,开发者可以更好地驾驭JavaScript,创造出更具交互性的Web...

    prototype.js开发笔记.pdf

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

Global site tag (gtag.js) - Google Analytics