美文网首页
JS类数组对象和数组的区别 2019-12-05

JS类数组对象和数组的区别 2019-12-05

作者: whuisu | 来源:发表于2019-12-05 12:19 被阅读0次

测试的时候IE遇到一个报错:
TypeError: Object doesn't support property or method 'forEach'

原来NodeList 不是数组而是一个类数组对象,尽管在某些方面和数组非常相似, 而IE不支持NodeList上的forEach方法。

JavaScript 的继承机制是基于原型的。数组元素之所以有一些数组方法(比如 forEach 和 map),是因为它的原型链上有这些方法,如下:

myArray --> Array.prototype --> Object.prototype --> null(想要获取一个对象的原型链,可以连续地调用 Object.getPrototypeOf,直到原型链尽头)。

forEach,map 这些方式其实是 Array.prototype 这个对象的方法。

和数组不一样的是,NodeList 的原型链是这样的:

myNodeList --> NodeList.prototype --> Object.prototype --> null

NodeList的原型上除了类似数组的 forEach 方法之外,还有 item,entries,keys 和 values 方法。

还有一个典型的类数组对象 JavaScript深入之类数组对象与arguments

相关文章

  • JS数组以及数组变换

    有关数组 数组对象——一种特殊的对象JS其实没有数组,只使用对象来模拟数组 典型数组和JS数组的区别 典型数组 元...

  • 概念集合

    JS中的数组和Arrary的区别 js中的数组就是array对象

  • 类数组与数组

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

  • js遍历数组和遍历对象的区别

    js遍历数组和遍历对象的区别

  • JS类数组对象和数组的区别 2019-12-05

    测试的时候IE遇到一个报错:TypeError: Object doesn't support property ...

  • JS 中的类数组对象如何转换为数组?

    大家好,我是前端西瓜哥,今天说一下 JS 的类数组对象是什么,以及如何将类数组对象转为数组。 类数组对象是什么? ...

  • JS 类数组对象arguments和数组对象的区别

    一、类数组对象的定义: 1)拥有length属性,其它属性(索引)为非负整数(对象中的索引会被当做字符串来处理);...

  • 类数组、arguments

    arguments为一个类数组的对象;类数组对象即为:有length属性和索引的对象。一、类数组===》数组var...

  • TUDU

    遍历数组和对象的区别 for in for of map 数组

  • JS数组

    1.js数组是什么? 1.1真实的数组 其实js不是典型的数组,是用对象来模拟的数组,真实的数据应该 元素的数据类...

网友评论

      本文标题:JS类数组对象和数组的区别 2019-12-05

      本文链接:https://www.haomeiwen.com/subject/mujdgctx.html