类数组与数组

  • 数组和类数组对象有什么区别
    数组和类数组对象都可以用索引访问,并具有length属性,不同是类数组不能调用数组的方法。

  • 什么是类数组对象

  1. 拥有length属性
  2. 元素保存在对象中,可以通过索引访问
  3. 但是没有数组的其他方法,例如:push、slice、indexOf等
var foo = {
    0: 'Java',
    1: 'Python',
    2: 'JavaScript',
    length: 3
};
// 因为foo对象本身并没有slice方法,所以通过call调用
var arr = Array.prototype.slice.call(foo); // [‘Java’,’Python’,’JavaScript’]
  • 常见的类数组对象
    javascript中常见的类数组有arguments对象和DOM方法的返回结果。
    比如 document.getElementsByTagName()。

  • 类数组转化为数组
    Array.prototype.slice.call()
    Array.from()

你可能感兴趣的:(类数组与数组)