Array 对象

提供对任何数据类型的 expando 数组的支持。 Array 构造函数有三种形式。

function Array( [size : int] )
function Array( [... varargs : Object[]] ) 
function Array( [array : System.Array )

参数

  • size
    可选。 数组大小。 当数组基于零时,所创建的元素将具有从零到 size -1 的索引。

  • varargs
    可选。 包含传递到构造函数的所有参数的类型化数组。 这些参数用作数组中的前几个元素。

  • array
    可选。 要复制到所构造数组的数组。

备注

如果只将一个参数传递到 Array 构造函数并且参数为数字,则该参数必须是无符号的 32 位整数(任何小于约四十亿的整数)。 所传递的值是数组的大小。 如果该值是小于零的数字或者不是整数,则将出现运行时错误。

数据类型为 System.Array 的变量可以传递到 Array 构造函数。 它将生成作为输入数组副本的 JScript 数组。 System.Array 必须只有一维。

如果将单个值传递到 Array 构造函数而且该值不是数字或数组,数组的 length 属性将设置为 1,数组第一个元素(元素 0)的值将成为单个传入的参数。 如果将几个参数传递到构造函数,数组的长度则设置为参数的数目,这些参数将成为新数组中的前几个元素。

请注意,JScript 数组是稀疏数组;也就是说,即使您为数组分配多个元素,仍会只存在实际包含数据的元素。 这将减少数组所使用的内存量。

Array 对象与 System.Array 数据类型互用。 因此,Array 对象可以调用 System.Array 数据类型的方法和属性,而 System.Array 数据类型可以调用 Array 对象的方法和属性。 此外,采用 System.Array 数据类型的函数接受 Array 对象,反之亦然。 有关更多信息,请参见 Array 成员

Array 对象传递到采用 System.Array 的函数或者从 Array 对象调用 System.Array 方法时,将复制 Array 的内容。 这样,原始 Array 对象无法由 System.Array 方法修改,或通过将其传递给接受 System.Array 的函数来修改。 只有非破坏性 Array 方法可在 System.Array 上调用。

提示

当您需要一般堆栈或项列表并且性能不是您最关心的问题时,Array 对象会给您带来许多方便。 在其他所有上下文中,应使用类型化的数组数据类型。 类型化数组的许多功能与 Array 对象相同,它也提供类型安全性、性能改进以及与其他语言的更好交互。

提示

Array 对象可以与 JScript 中的 .NET Framework System.Array 数据类型互用。 但是,其他公共语言规范 (CLS) 语言不能使用 Array 对象,因为只有 JScript 提供此对象;它不是从 .NET Framework 类型派生的。 因此,当对参数进行类型批注并返回符合 CLS 的方法的类型时,请确保使用 System.Array 数据类型,而不是 Array 对象。 然而,可以使用 Array 对象对标识符(而不是参数或返回类型)进行类型批注。 有关更多信息,请参见编写符合 CLS 的代码

示例

可以使用 [ ] 符号来访问数组的各个元素。 例如:

var my_array = new Array();
for (var i = 0; i < 10; i++) {
   my_array[i] = i;
}
var x = my_array[4];

由于 Microsoft JScript 中的数组基于零,所在在以上示例的最后语句中访问数组元素为第五个元素。 该元素包含值 4。

属性和方法

Array 对象属性和方法

要求

版本 2

请参见

参考

new 运算符

概念

类型化数组