Javascript数组实例教程


Javascript数组实例教程

文章插图
Javascript数组实例教程

文章插图

使用javascript数组
在Javascript 1.0中构造器只存在Date对象和用户定义的对象 。你可能期望有个数组构造器 , 但是一直没能实现 , 直到JavaScript 1.1的出现 , 你的期望成为了现实 。我们可以如下来定义用户对象:
function blankArray(n) {
for (var i=0; i < n; i)
this[i] = null;
this.length = n;
}
blankArray函数创建了一个数组 , 这个数组中有n个空白项 。下面再给出使用这个构造器的例子:
var myArray = new blankArray(3);
myArray[0] = "hello";
myArray[1] = "world";
myArray[2] = "!";
如果你对其它编程语言(如C语言)有些经验的话 , 你就会直到数组的索引是从0开始的而此在上面的例子中数组索引是从0到2的 , 故这个数组的长度为3 。
以下的代码是更为高级的数组构造器 。它使用了arguments属性来对数组赋值而不只是创建一个空数组元素 , 这个属性对于所有的函数都是存在的 。虽然没有给定任何的参数 , 传递的数值仍然可以通过arguments数组来进行访问 。具体代码如下:
function makeArray() {
for (var i=0; i < arguments.length; i)
this[i] = arguments[i];
this.length = arguments.length;
}
而构造器的调用可以是这样的:
var myArray = new makeArray("hello", "world", "!");
在JavaScript 1.1中 , 创建数组构造器结合了blankArray和makeArray的特定 。如下的一个调用:
var myArray = new Array(3); // requires JS 1.1
这个调用创建了一个空白数组(其长度为3)作为上面示范的blankArray构造器 。而在Netscape中称为dense array , 因为每一个元素都有一个数值 , 可以如下来创建:
var myArray = new Array(value1, value2, value3); // JS 1.1
既然你对构造器和对象属性比较熟悉了 , 我们可以进一步举些例子 。如果你是使用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标签中或者网页的其它地方 。
上面例子的输出为:
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数组实例教程】如果不是使用JavaScript , 换成其它类型的编程语言 , 你就不得不指定函数输入是一个People的数组 , 而在JavaScript就不用了 。这正是JavaScript的



    推荐阅读