使用JavaScript数组
在JavaScript 1.0中构造器只存在Date对象和用户定义的对象。你可能期望有个数组构造器,但是一直没能实现,直到JavaScript 1.1的出现,你的期望成为了现实。我们可以如下来定义用户对象:
function blankArray(n) {
for (var i=0; i n; i++)
this[i] = null;
this.length = n;
}
(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/webkaifa/)blankArray函数创建了一个数组,这个数组中有n个空白项。下面再给出使用这个构造器的例子:
var myArray = new blankArray(3);
myArray[0] = "hello";
myArray[1] = "world";
myArray[2] = "!";
如果你对其它编程语言(如C语言)有些经验的话,你就会直到数组的索引是从0开始的而不是从1开始的。因此在上面的例子中数组索引是从0到2的,故这个数组的长度为3。
以下的代码是更为高级的数组构造器。它使用了'arguments'属性来对数组赋值而不只是创建一个空数组元素,这个属性对于所有的函数都是存在的。虽然没有给定任何的参数,传递的数值仍然可以通过arguments数组来进行访问。具体代码如下:
function makeArray() {
for (var i=0; i arguments.length; i++)
this[i] = arguments[i];
this.length = arguments.length;
}
(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/webkaifa/)而构造器的调用可以是这样的:
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',因为每一个元素都有一个数值,可以如下来创建:
(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/webkaifa/)var myArray = new Array(value1, value2, value3); // JS 1.1