zoukankan      html  css  js  c++  java
  • 类数组对象(array-like objects)

    以NodeList对象为例展开:

    NodeList是由一些元素节点组成的一个集合,比如我们通过document.getElementByTagName()或document.querySelectorAll()方法,又或者Node.childNodes属性返回而获得的。

    它是一个典型的类数组对象,具有数组的一些特征,但是,它和数组又是完全两个类型的对象,所以我们叫他们为array-like objects;

    NodeList对象的原型链:

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

    Array对象的原型链:

    array->array.prototype->object.prototype->null

    在nodeList.prototype中我们发现了和数组中相似的forEach方法,除此之外,还有item,entries,keys和values方法。

    如果我们想要把它变成一个数组对象,一个直接的办法就是把array.prototype上的方法添加到nodeList.prototype上。但是直接扩展DOM对象是很危险的,有些低版本浏览器(Internet Explorer(6,7,8))也不支持这种操作。

  • 相关阅读:
    fork 入门
    java 注解 @Retention @interface 元数据
    JAVA泛型简析
    http数据流 gzip解压方法分析
    gdb调试提示 Missing separate debuginfos
    Vue2.x响应式原理
    观察者模式
    优秀博客收集
    切换npm源的方式
    前端模块化之ES Module
  • 原文地址:https://www.cnblogs.com/zhangxin123/p/13645801.html
Copyright © 2011-2022 走看看