`
longgangbai
  • 浏览: 7331015 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

prototype的学习使用(一)

阅读更多

一些实用的函数
这个类库带有很多预定义的对象和实用函数,这些东东的目的显然是把你从一些重复的打字中解放出来 。

使用$()方法
$() 方法是在DOM中使用过于频繁的 document.getElementById() 方法的一个便利的简写,就像这个DOM方法一样,这个方法返回参数传入的id的那个元素。比起DOM中的方法,这个更胜一筹。你可以传入多个id作为参数然后 $() 返回一个带有所有要求的元素的一个 Array 对象。

另外一个好处是,这个函数能传入用string表示的对象ID,也可以传入对象本身,这样,在建立其它能传两种类型的参数的函数时非常有用。


使用$F()函数
$F()函数是另一个大收欢迎的“快捷键”,它能用于返回任何表单输入控件的值,比如text box,drop-down list。这个方法也能用元素id或元素本身做为参数。

使用$A()函数

$A()函数能把它接收到的单个的参数转换成一个Array对象。

这个方法,结合被本类库扩展了的Array类,能方便的把任何的可枚举列表转换成或拷贝到一个Array对象。一个推荐的用法就是把DOM Node Lists转换成一个普通的Array对象,从而更有效率的进行遍历,

使用 $H() 函数

$H()函数把一些对象转换成一个可枚举的和联合数组类似的Hash对象。
使用$R()函数

$R()是new ObjectRange(lowBound,upperBound,excludeBounds)的缩写。

跳到ObjectRange 类文档可以看到一个关于此类的完整描述. 此时,我们还是先来看一个例子以展示这个缩写能代替哪些方法吧。其它相关的一些知识可以在Enumerable 对象文档中找到。
使用Try.these()函数

Try.these() 方法使得实现当你想调用不同的方法直到其中的一个成功正常的这种需求变得非常容易, 他把一系列的方法作为参数并且按顺序的一个一个的执行这些方法直到其中的一个成功执行,返回成功执行的那个方法的返回值。

在下面的例子中, xmlNode.text在一些浏览器中好用,但是xmlNode.textContent在另一些浏览器中正常工作。 使用Try.these()方法我们可以得到正常工作的那个方法的返回值。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
 <head>
  <title>proSimple.html</title>

  <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
  <meta http-equiv="description" content="this is my page">
  <meta http-equiv="content-type" content="text/html; charset=UTF-8">

  <!--<link rel="stylesheet" type="text/css" href="./styles.css">-->
  <script type="text/javascript" src="prototype/prototype.js"></script>
     <script type="text/javascript">
        function test0()
        {
           //根据id或对象本身获取对象 ,单个功能类似document.getElementById();
           var d=$('myDiv');
           //根据对象本身或ID获取对象本身的value
           var mybutton=$F('mybutton');
           alert(mybutton+" : "+ d.innerHTML);
          
        }
              function test1()
        {
        //可以根据多个id,获取多个对象
           var divs=$('myDiv','myOtherDiv');
           for(var i=0;i<divs.length;i++)
           {
            alert(divs[i].innerHTML);
           }
        }
       
       
        function showOptions()
        {
          //获取对象的所有的Option元素
          var someNodeList=$('lstEmployees').getElementsByTagName('option');
          //根据元素集合创建对象
          var nodes=$A(someNodeList);
          //遍历对象的各种元素的信息
          nodes.each(function(node)
          {
                //获取选中的文本信息 innerText 获取文本信息,value用于获取数据        
             if(node.selected==true)
             {
                alert("selected Item"+node.innerText+":"+node.value);
             }
             //显示所有的文本的信息
             alert(node.nodeName+" : "+node.innerHTML+" : "+node.innerText);
            
          });
        }
        //方便构建查询字符串的应用
        function testhash()
        {
          var a={
             first:10,
             second:20,
             third:30
          };
          //将一个对象转换为Prototype的Hash对象的
          var h=$H(a);
          //转换为查询字符串
          alert(h.toQueryString());
          //转换为JSON对象
          alert("toJSON="+h.toJSON());
          //获取健集合
          alert("Keys="+h.keys());
         
            alert("values="+h.values());
        }
       
        function demoDollar_R()
        {
          var range=$(10,20,false);
          range.each(function(value,index)
          {
             alert(value);
          });
        }
     </script>
 </head>

 <body>
  <div id="myDiv">
   <p>
    This is a paragraph
   </p>
  </div>
  <div id="myOtherDiv">
   <p>
    This is another paragraph
   </p>
  </div>
  <input id="mybutton" type="button" value=Test1 onclick="test0();">
  <br>
  <input type="button" value=Test2 onclick="test1();">
  <br>
        <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="javascript:showOptions();" >
     <input type="button" value="use Hash" onclick="javascript:testhash();" >
 </body>
</html>

分享到:
评论

相关推荐

    Prototype学习笔记(一)(二)

    Prototype学习笔记(一)(二)涵盖了这一主题的深入探讨,旨在帮助开发者更好地理解和利用这个特性。在本篇文章中,我们将详细阐述Prototype的核心概念、作用以及如何在实际编程中应用。 首先,Prototype是...

    Prototype使用学习手册指南

    ### Prototype使用学习手册指南 #### 引言 随着Web应用的发展,JavaScript库因其提供的便捷性和高效性变得越来越重要。Prototype.js作为一个成熟的JavaScript库,简化了许多常见的DOM操作、事件处理及AJAX请求,...

    Prototype1.5.1使用手册

    《Prototype 1.5.1使用...总结,Prototype 1.5.1使用手册涵盖了该库的主要特性和用法,对于前端开发者来说,是一个不可或缺的学习和参考资料。通过深入学习和实践,可以极大地提升开发效率,创造出更优秀的Web应用。

    prototype的使用

    在JavaScript中,`prototype`是一个非常重要的概念,它关乎到对象继承和函数的扩展...在深入学习JavaScript时,掌握`prototype`的用法是非常必要的。通过合理利用`prototype`,我们可以编写出更加高效和可维护的代码。

    prototype学习笔记

    在JavaScript中,`prototype`是一个核心...总的来说,这篇"prototype学习笔记"深入讲解了JavaScript中的原型和继承机制,结合源码分析和实用工具,帮助开发者更全面地掌握这一核心概念,并能够在实际项目中灵活运用。

    prototype介绍和使用方法

    Prototype的参考文档详细列出了库中所有的类、对象、方法和扩展,对于开发者来说是一份宝贵的资源,可以帮助理解和使用Prototype中的各种功能。 通过了解和熟练运用Prototype,开发者可以大大提高JavaScript开发的...

    prototype.js文件使用和讲解

    下面是一段使用`prototype.js`进行Ajax请求的示例: ```javascript new Ajax.Request('url/to/server', { method: 'post', parameters: {key: 'value'}, onSuccess: function(response) { console.log('成功...

    prototype文件以及使用说明.rar

    在JavaScript中,`prototype`是一个非常重要的概念,它关乎到对象继承和函数的特性。`prototype`机制是JavaScript实现...如果你想要深入学习JavaScript的面向对象编程,理解和熟练使用`prototype`是必不可少的步骤。

    prototype帮助中文文档

    Prototype 是一个广泛使用的JavaScript库,它为浏览器端的开发提供了许多强大的功能,特别是对于处理DOM操作、Ajax交互以及对象扩展等方面。这个“prototype帮助中文文档”涵盖了Prototype库的核心概念、方法和最佳...

    prototype1.6.0prototype1.6.0prototype1.6.0prototype1.6.0

    这个页面可能展示了如何在实际项目中集成和使用Prototype库,或者包含了一系列用例和示例代码,供学习者参考。 "jspage_file"可能是一个文件夹,里面包含与"jsPage.html"相关的资源,如CSS样式表、图像或者其他...

    Prototype整理的学习资料

    这个压缩包中的"Prototype学习笔记.doc"很可能是对Prototype模式深入理解的详细文档。下面将从Prototype设计模式的基本概念、在JavaScript中的应用、与Ajax的关系以及如何与其他技术如Java和JavaScript库交互等方面...

    prototype学习

    当我们使用`new`关键字创建一个新对象时,这个新对象会自动获取构造函数的`prototype`属性所引用的对象作为其`__proto__`属性。 例如: ```javascript function Person() {} Person.prototype.name = "John Doe"; ...

    prototype1.4使用手册

    Prototype 1.4 使用手册是针对 JavaScript 库 Prototype 的一份详尽指南,旨在帮助开发者更好地理解和利用这个强大的工具。Prototype.js 是由 Sam Stephenson 编写的,它为 JavaScript 提供了丰富的扩展,特别适合...

    Prototype Ajax学习范例

    这个"Prototype Ajax学习范例"提供了一系列实例,旨在帮助开发者迅速掌握使用Prototype进行Ajax操作的技巧。 Ajax,即异步JavaScript和XML(Asynchronous JavaScript and XML),是一种在无需刷新整个网页的情况下...

    Prototype.js学习从简单开始

    下面,我们通过一个简单的HTML文档来展示如何使用Prototype.js进行元素定位: ```html &lt;script src="prototype.js"&gt; &lt;!-- 表格内容 --&gt; &lt;!-- 更多元素 --&gt; ``` 在上述代码中,我们可以通过`$()`或`$$...

    Prototype_1.4.doc,Prototype_1.5.1.chm 中文版

    Prototype是JavaScript库的一个早期且广泛使用的版本,它提供了许多实用的功能,如对象扩展、事件处理、Ajax操作等,极大地简化了JavaScript开发。"Prototype_1.4.doc"可能是一个关于Prototype 1.4版本的文档,以....

    使用prototype简化Ajax操作

    通过学习和使用Prototype,你可以更专注于业务逻辑,而不是底层的Ajax实现细节。 总结一下,Prototype通过其丰富的Ajax接口,使得开发者能够更加便捷地处理异步请求。无论是简单的GET请求、更新页面内容,还是处理...

    Prototype学习笔记(最新整理)

    ### Prototype学习笔记(最新整理) #### 1. Prototype是什么? Prototype是一个由Sam Stephenson编写的JavaScript库,旨在简化客户端脚本编程,使开发者能够轻松创建动态的、交互式的Web应用程序。该库通过提供一...

    Prototype String对象 学习

    【Prototype String对象学习】 在JavaScript中,Prototype是一个库,它扩展了JavaScript的内置对象,包括String对象。这里的“Prototype String对象”是指Prototype库为JavaScript原生的String对象添加的一些额外...

    prototype自己做的一个例子

    在JavaScript中,`prototype`是一个非常重要的概念,它关乎到对象继承和函数原型。...在压缩包`myJs`中,可能包含了实现上述概念的示例代码,通过分析和学习这些代码,可以进一步巩固对`prototype`的理解。

Global site tag (gtag.js) - Google Analytics