Skip to content

Latest commit

 

History

History
21 lines (18 loc) · 632 Bytes

reuse-generic-array-methods-on-array-like-Objects.md

File metadata and controls

21 lines (18 loc) · 632 Bytes

在类数组对象上复用通用的数组方法

// 这种形式一般会用于函数的参数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方法。