Javascript实例教程(19-2)

既然你对构造器和对象属性比较熟悉了,我们可以进一步举些例子。如果你是使用JavaScript 1.1或者更高版本,你可以使用数组构造器。否则你使用makeArray对象更为合适些。 var workPeople = new Array(

new Person("Thomas", 25, "green"),

new Person("Richard", 35, "blue"),

new Person("Harold", 30, "chartreuse")

);

workPeople是一个拥有三个Person对象的数组。每一个Person都有name(名字)、age(年龄)、colour(肤色)以及birthYear(出生年份)属性。

以下再给出一个实例来使用我们上面所学到的。这里还要提醒一下,Person代码块和workPeople数组必须包括到相同的SCRIPT标签中或者网页的其它地方。

 1<script language="JavaScript">   
 2  
 3<!-- Hide from older browsers   
 4  
 5  
 6function whoIsOldest(pArray) {   
 7  
 8var pOldest = pArray[0]; // 数组中的第一个Person   
 9  
10for (var i=1; i < pArray.length; i++) // 对每个附加的Person循环   
11  
12if (pArray[i].isOlder(pOldest)) // 如果它们比较老   
13  
14pOldest = pArray[i]; // 将它们设置为最老   
15  
16return pOldest;   
17  
18}   
19  
20var senior = whoIsOldest(workPeople);   
21  
22document.write("The oldest person is " + senior.name + "<br>" + senior);   
23  
24  
25// Stop hiding -->   
26  
27</script>

上面例子的输出为:

The oldest person is Richard

Richard was born in 1963

and is 35 years old.

从whoIsOldest函数返回的数值是一个Person对象,它带有对象所有的属性和方法。这是为什么可以引用名字属性和变量printPerson()方法(称为senior)的原因。

WhoIsOldest函数的另外一些特性为:

a.处理任何的People的数组。

b.处理任何对象类型的数组,这个数组有一个isOlder()方法。

如果不是使用JavaScript,换成其它类型的编程语言,你就不得不指定函数输入是一个People的数组,而在JavaScript就不用了。这正是JavaScript的一个优点。

Published At
Categories with 网页设计
comments powered by Disqus