JS中Array()和Array.of()的区别
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(...elements)
是ES6标准的一部分,如果浏览器不支持,可以提前执行以下代码,自行创建Array.of()
方法。
if (! Array.of) {
Array.of = function() {
// 用到了arr.slice(?start, ?end)方法,且置换了运行时其内部的this。
return Array.prototype.slice.call(arguments);
}
}
还没有评论,来说两句吧...