JS中Array()和Array.of()的区别

痛定思痛。 2022-02-21 01:11 456阅读 0赞

Array()

Array()是构造方法。
a = new Array(1, 2, 3);
a = Array(1, 2, 3); // new可省略

Array.of()

Array.of()是静态方法,也返回一个数组。
Array.of(...elements) 创建一个具有可变数量参数的新的数组实例。

功能区别

如果只传入一个参数,且这个参数为Number数值类型。
new Array(3) 返回(4) [empty × 4],有3个空位empty的数组,长度为3。
Array.of(3) 依旧把唯一的数值参数作为元素,返回一个新数组,长度为1。
Array.of(length)和Array(length)的区别

兼容性

Array.of(...elements)是ES6标准的一部分,如果浏览器不支持,可以提前执行以下代码,自行创建Array.of()方法。

  1. if (! Array.of) {
  2. Array.of = function() {
  3. // 用到了arr.slice(?start, ?end)方法,且置换了运行时其内部的this。
  4. return Array.prototype.slice.call(arguments);
  5. }
  6. }

发表评论

表情:
评论列表 (有 0 条评论,456人围观)

还没有评论,来说两句吧...

相关阅读

    相关 listarray区别

    介绍 在Unity中,List和Array都是常见的数据类型,用于存储大量相同类型的数据。它们的主要区别在于它们的实现方式和使用方法。 方法 List Li