// 这种形式一般会用于函数的参数arguments属性
function fn() {
console.log(arguments);
console.log([].slice.call(arguments, 0));
console.log(['array'].concat([].slice.call(arguments)));
}
fn(1, 2, 3);
// { '0': 1, '1': 2, '2': 3 }
// [ 1, 2, 3 ]
// [ 'array', 1, 2, 3 ]
谨记
对于类数组对象,通过提取方法对象并使用其call方法来复用通用的Array方法。
任意一个具有索引属性和恰当length属性的对象都可以使用通用的Array方法。
参考资料:https://lee134134134.github.io/page/4/