js中prototype对象(11)

prototype - JS对象

 

 

 

 

在JavaScript中,prototype对象是实现面向对象的一个重要机制。

每个函数就是一个对象(Function),函数对象都有一个子对象 prototype对象,类是以函数的形式来定义的。prototype表示该函数的原型,也表示一个类的成员的集合。

基本信息

  • 中文名称

    prototype

  • 性质

    JS对象

  • 应用

    JavaScript

  • 人物

    Sam Stephenson

目录

1简介

2prototype.js优点

3使用$()方法

4使用$F()函数

5使用$A()函数

6使用 $H() 函数

7使用$R()函数

8使用Try.these()函数

9Ajax对象

10使用Ajax.Request类

11使用Ajax.Updater类

12建立循环

13prototype例子

14Prototype定期执行

15创建一个定期执行

折叠编辑本段简介

在通过new创建一个类的实例对象的时候,prototype对象的成员都成为实例化对象的成员。

1、该对象被类所引用,只有函数对象才可引用;

2、在new实例化后,其成员被实例化,实例对象方可调用。

同时,函数是一个对象,函数对象若直接声明成员,不用被实例化即可调用。

折叠编辑本段prototype.js优点

prototype.js是由Sam Stephenson写的一个javascript类库。该框架的设计思路巧妙,而且兼容标准的类库,能够帮助开发人员轻松建立有交互性良好的web2.0特性富客户端页面。

折叠编辑本段使用$()方法

$() 方法是在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 οnclick="test1();"><br>

<input type="button" value=Test2 οnclick="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 οnclick="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" οnclick="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" οnclick="demoDollar_R();" >

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值