--- title: Array.of() slug: Web/JavaScript/Reference/Global_Objects/Array/of tags: - Array - Array.of() - ECMAScript 2015 - ES 6 - JavaScript - polyfill - 方法 translation_of: Web/JavaScript/Reference/Global_Objects/Array/of ---
{{JSRef}}

Array.of() 方法创建一个具有可变数量参数的新数组实例,而不考虑参数的数量或类型。

 Array.of() 和 Array 构造函数之间的区别在于处理整数参数:Array.of(7) 创建一个具有单个元素 7 的数组,而 Array(7) 创建一个长度为7的空数组(注意:这是指一个有7个空位(empty)的数组,而不是由7个undefined组成的数组)。

Array.of(7);       // [7]
Array.of(1, 2, 3); // [1, 2, 3]

Array(7);          // [ , , , , , , ]
Array(1, 2, 3);    // [1, 2, 3]

语法

Array.of(element0[, element1[, ...[, elementN]]])

参数

elementN
任意个参数,将按顺序成为返回数组中的元素。

返回值

新的 {{jsxref("Array")}} 实例。

描述

此函数是ECMAScript 2015标准的一部分。详见 Array.of 和 Array.from proposal 和 Array.of polyfill

示例

Array.of(1);         // [1]
Array.of(1, 2, 3);   // [1, 2, 3]
Array.of(undefined); // [undefined]

兼容旧环境

如果原生不支持的话,在其他代码之前执行以下代码会创建 Array.of() 。

if (!Array.of) {
  Array.of = function() {
    return Array.prototype.slice.call(arguments);
  };
}

规范

Specification Status Comment
{{SpecName('ES2015', '#sec-array.of', 'Array.of')}} {{Spec2('ES2015')}} Initial definition.
{{SpecName('ESDraft', '#sec-array.of', 'Array.of')}} {{Spec2('ESDraft')}}  

浏览器兼容性

{{Compat("javascript.builtins.Array.of")}}

相关链接