Array.of()
主要是弥补数组构造函数Array()
的不足。因为参数个数的不同,导致Array()
的重载,Array.of
不存在由于参数不同而导致的重载,并且基本上可以用来替代Array()
或new Array()
Array.of()
静态方法通过可变数量的参数创建一个新的 Array
实例,而不考虑参数的数量或类型
基本语法
Array.of()
是创建数组的方法,它接收若干个参数,返回一个新的 Array 实例,类似 Array()
方法
Array.of(参数0,[, 参数1[, ...[, 参数N]]])
基本实例
Array.of()
会按顺序接受 N 个参数,接收的所有参数都会成为新数组的项
Array.of() // []
Array.of(undefined) // [undefined]
Array.of(0) // [0]
Array.of(1, 2, 3) // [1, 2, 3]
Array.of
总是返回参数值组成的数组。如果没有参数,
重点比较
Array() // []
Array(2) // [, ,]
Array(1, 2) // [1, 2]
Array.of() // []
Array.of(2) // [2]
Array.of(1, 2, 'abc') // [1, 2, "abc"]
Array
方法在没有参数、一个参数、两个参数时,返回结果都不一样。
- 没有参数的时候返回一个空数组;
- 有一个参数的时候,返回一个长度为此参数的空数组,并且此数组不能被迭代;
- 有两个参数的时候,才会把参数当成数组的每一项返回;
这就是用Array.of生成数组的好处
扩展
if (!Array.of) {
Array.of = function() {
return Array.prototype.slice.call(arguments);
};
}
使用 Array
的 slice
方法把接收到的 arguments
参数,转化成数组的每一项
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。