prototype试用

一直没有没有时间看prototype,现在好了,已经更新到了1.5 pre1,呵呵,强大的功能不得不学习啊,这个是提升自己JS能力的又一个捷径.

1. Prototype是什么?

或许你还没有用过它, prototype.js 是一个由Sam Stephenson写的JavaScript包。这个构思奇妙编写良好的一段兼容标准的一段代码将承担创造胖客户端, 高交互性WEB应用程序的重担。轻松加入Web 2.0特性。

如果你最近体验了这个程序包,你很可能会发现文档并不是它的强项之一。像所有在我之前的开发者一样,我只能一头扎进prototype.js的源代码中并且试验其中的每一个部分。 我想当我学习他的时候记写笔记然后分享给其他人将会很不错。

我也一起提供了这个包的对象,类,方法和扩展的 非官方参考 。

2. 通用性方法

这个程序包里面包含了许多预定义的对象和通用性方法。编写这些方法的明显的目的就是为了减少你大量的重复编码和惯用法。

从Prototype1.5.x版本开始,你可以更方便的如下面代码一样操作DOM对象了:

程序代码

var ele = $("myelement");
ele.hide(); //隐藏DOM对象对比从前的版本var ele = $("myelement");
Element.hide(ele); //隐藏DOM对象

这样的改变有什么益处呢? 我觉得一来是更面向对象了,二来就是便于将来IDE里的代码提示。

2.1. 使用 $()方法

$() 方法是在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>

这个方法的另一个好处就是你可以传入id字符串或者元素对象自己,这使得在创建可以传入任何形式参数的方法的时候, 它变得非常有用。

2.2. 使用$F()方法

$F()方法是另一个非常受欢迎的简写。它可以返回任何输入表单控件的值,如文本框或下拉框。 这个方法可以传入元素的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>

时间: 2024-09-11 18:16:26

prototype试用的相关文章

prototype试用整理资料_AJAX相关

一直没有没有时间看prototype,现在好了,已经更新到了1.5 pre1,呵呵,强大的功能不得不学习啊,这个是提升自己JS能力的又一个捷径. 1. Prototype是什么?或许你还没有用过它, prototype.js 是一个由Sam Stephenson写的JavaScript包.这个构思奇妙编写良好的一段兼容标准的一段代码将承担创造胖客户端, 高交互性WEB应用程序的重担.轻松加入Web 2.0特性. 如果你最近体验了这个程序包,你很可能会发现文档并不是它的强项之一.像所有在我之前的开

prototype试用整理资料

一直没有没有时间看prototype,现在好了,已经更新到了1.5 pre1,呵呵,强大的功能不得不学习啊,这个是提升自己JS能力的又一个捷径. 1. Prototype是什么? 或许你还没有用过它, prototype.js 是一个由Sam Stephenson写的JavaScript包.这个构思奇妙编写良好的一段兼容标准的一段代码将承担创造胖客户端, 高交互性WEB应用程序的重担.轻松加入Web 2.0特性. 如果你最近体验了这个程序包,你很可能会发现文档并不是它的强项之一.像所有在我之前的

magento -- 提供压缩版prototype.js下载

Magento采用prototype作为它的核心JS库,而prototype.js文件 有127KB之大,因为是核心库,相信也没有人会需要去改它的源代码 ,既然这样,我们可以改为导入压缩后的核心文件,为前台 网页载入减轻一点负担.        下面是本人自己压缩的核心库,欢迎下载 试用            prototype.min.zip  (22.77 KB)          解压后把prototype.min.js放置到/js/prototype目录下,同时修改文件/app/desi

设计模式的解析和实现(C++)之四-Prototype模式

作用: 用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象. UML结构图: 抽象基类: 1)Prototype:虚拟基类,所有原型的基类,提供Clone接口函数 接口函数: 1)Prototype::Clone函数:纯虚函数,根据不同的派生类来实例化创建对象. 解析: Prototype模式其实就是常说的"虚拟构造函数"一个实现,C++的实现机制中并没有支持这个特性,但是通过不同派生类实现的Clone接口函数可以完成与"虚拟构造函数"同样的效果.举一个

new-js中的prototype使用的问题

问题描述 js中的prototype使用的问题 base.js var $ = function () { return new Base();} //创建一个数组,来保存获取的节点和节点数组*****************function Base() {}Base.prototype.elements = []; //创建一个数组,来保存获取的节点和节点数组****************function Base(){ this.elements = [];} //获取ID节点Base.

Reveal App试用时间破解

以下内容仅用于学习逆向工程.用到的工具有Hopper,lldb. iOS应用调试利器Reveal不必多介绍.应用可以免费试用.目测时间校验并不严谨,修改系统时间就可以将试用状态从已过期变为未过期.先改时间到多天以后,运行会弹出"Your free trial of Reveal has expired".接下来切入正题. 更新:以下方法在1.6.1版本中仍然试用.如果你不关心探索过程,寻找关键代码这一节略过,动手的时候绕过应用自身校验这一节与绕过过期弹窗交换顺序. 寻找关键代码 使用的

360极速浏览器试用扩展程序教程

360极速浏览器试用扩展程序的方法如下: 访问360极速浏览器的扩展中心,查找感兴趣的扩展程序.如果找到了感兴趣的扩展程序,那可以安装试用. 360极速浏览器是一款极速.安全的无缝双核浏览器.它基于Chromium开源项目,具有闪电般的浏览速度.完备的安全特性及海量丰富的实用工具扩展.此外,为了更适合国内用户使用,它加入了鼠标手势.超级拖拽.恢复关闭的标签.地址栏下拉列表等实用功能,配合原有Chromium的顺滑操作体验,让浏览网页时顺畅.安心. 360极速浏览器是国内最安全的双核浏览器.360

prototype开发者手册

  prototype.js开发者手册 对应版本1.4.0 original article by sp('Sergio Pereira') Sergio Pereira last update: March 30th 2006 中文版:THIN 最后更新:2006-3-31 其它版本English versionPDF (v1.4.0)Korean (v1.4.0)Italian (v1.4.0)Portuguese (v1.4.0)Hungarian (v1.4.0)Dutch (v1.4.

jira-为啥现在去JIRA官网申请试用30天的license失败

问题描述 为啥现在去JIRA官网申请试用30天的license失败 sign up atlassian 提示request is missing required from field 'recaptcha_challenge_field' 解决方案 同上,有解答了吗????