window与Objet

1、 window.__proto__ === Window.prototype

2、 window.__proto__.__proto__ === 窗口属性(WindowProperties)

3、 window.__proto__.__proto__.__proto__ === EventTarget.prototype

4、 EventTarget.prototype.__proto__ === Object.prototype

5、 Event.prototype.__proto__ === Object.prototype

document与Objet

1、 document.__proto__ === HTMLDocument.prototype

2、 HTMLDocument.prototype.__proto__ === Document.prototype

3、 Document.prototype.__proto__ === Node.prototype

4、 Node.prototype.__proto__ === EventTarget.prototype

5、 EventTarget.prototype.__proto__ === Object.prototype

元素节点与Objet

var h = getElementById('id');

1、 h.__proto__ === HTMLDivElement.prototype

2、 HTMLDivElement.prototype.__proto__ === HTMLElement.prototype

3、 HTMLElement.prototype.__proto__ === Element.prototype

4、 Element.prototype.__proto__ === Node.prototype

5、 Node.prototype.__proto__ === EventTarget.prototype

6、 EventTarget.prototype.__proto__ === Object.prototype

属性节点与Objet

var attr = h. attributes[0];

1、 h.attributes.__proto__ === NamedNodeMap.prototype

2、 NamedNodeMap.prototype.__proto__=== Object.prototype


1、 h.attributes[0].__proto__ === Attr.prototype

2、 Attr.prototype.__proto__ === Node.prototype

3、 Node.prototype.__proto__ === EventTarget.prototype

4、 EventTarget.prototype.__proto__ === Object.prototype

属性获取与赋值

1、 h.id === h.attributes.id.value === h.attributes[n].value

2、 h.className === h.attributes.class.value === h.attributes[n].value

dom对象api扩展

1、Document


Document.prototype.aa = function(){console.log(1)}
document.aa(); //1
document.getElementById('id').aa(); // Uncaught TypeError: h.aa is not a function

2、Element


Element.prototype.bb = function(){console.log(1)}
document.bb(); // Uncaught TypeError: document.bb is not a function
document.getElementById('id').bb(); // 1

3、Object


Object.prototype.cc = function(){console.log(1)}
document.cc(); //1
document.getElementById('id').cc(); // 1

来源:https://segmentfault.com/a/1190000017547967

document与Object的关系的更多相关文章

  1. 一张图看懂Function和Object的关系及简述instanceof运算符

    我在写一篇图解prototype和__proto__的区别时,搜资料搜到了一个有意思的现象,下面这两个运算返回的结果是一样的: Function instanceof Object;//true Ob ...

  2. Javascript中的函数(Function)与对象(Object)的关系

    今天我们来尝试理解Function和Object.因为这个里面有些人前期可能会搞糊涂.他们之间到底是什么关系.当然也不除外当初的我. 注意:官方定义: 在Javascript中,每一个函数实际上都是一 ...

  3. Python进阶内容(五)--- type和object的关系

    面向对象编程(OOP)的两大关系 继承与实现 继承关系: 子类继承自父类(base),可以使用父类的一些方法(method)和属性(attribute) 实现关系: 以类为模板,实例化一个对象,即:对 ...

  4. 论type与object的关系----Python创世纪

    这篇随笔的灵感来源于学习源码时对type及object关系的疑惑,主要参考了这篇论文: http://www.cs.utexas.edu/~cannata/cs345/Class%20Notes/15 ...

  5. Python面试题之Python中type和object的关系

    知乎上看到的提问: 两个是互为实例的关系,但不是互为子类的关系,只有type是object的子类,反之则不成立. 大牛说两者是蛋生鸡鸡生蛋的关系,但我还是不明白,有懂的麻烦解释一下, 希望不要给出外文 ...

  6. python 中type和object的关系

    转自:https://segmentfault.com/a/1190000008938763 学习python的同学都知道这么几句话 object类是所有新式类的父类. type是所有类的类. 那么t ...

  7. SAP IDOC-Segment E1EDP19 Document Item Object Identification

    PO创建时,通过IDOC EDI 接口自动创建SO 案例. BD54 配置逻辑系统 SCC4 给集团分配逻辑系统  SM59 新建RFC 链接 WE21 创建IDOC 处理端口 we20 创建合作伙伴 ...

  8. Function与Object的关系

    这里先简单介绍一下我研究这个问题的初衷.起初我只是想研究一下原型链的基本思想.构造函数拥有prototype属性,指向它的prototype,而该构造函数的实例化对象则拥有一个[[prototype] ...

  9. Js中Prototype、__proto__、Constructor、Object、Function关系介绍

    一. Prototype.__proto__与Object.Function关系介绍 Function.Object:都是Js自带的函数对象.prototype,每一个函数对象都有一个显式的proto ...

随机推荐

  1. Vue.js——vue-resource详细介绍

    概述 Vue.js是数据驱动的,这使得我们并不需要直接操作DOM,如果我们不需要使用jQuery的DOM选择器,就没有必要引入jQuery.vue-resource是Vue.js的一款插件,它可以通过 ...

  2. tomcat 散点杂记

    tomcat有很多细碎的知识点和一些坑点,我将再次记录 域名直指项目 我们经常访问项目都要带上项目目录 eg: http://xwiki.test.com/xwiki or http://jenkin ...

  3. python3笔记十一:python数据类型-List列表

    一:学习内容 列表概念 列表创建:创建空列表.创建带有元素的列表 列表访问:取值 列表修改:替换元素.追加元素.追加列表.插入元素 列表删除:移除列表中指定下标处的元素.移除匹配条件的第一个元素.移除 ...

  4. JVM系列1:内存区域

    1.JVM运行区域内存划分 2.各内存区域详细介绍 2.1 程序计数器 程序计数器是一块很小的内存区域,它作为前线程所执行的字节码的行号指示器,指向当前class文件的执行代码的行数.字节码解释器工作 ...

  5. linux_Ubuntu相对路径和绝对路径

    绝对路径 从/目录开始描述的路径为绝对路径,如: cd /home ls /usr 相对路径 从当前位置开始描述的路径为相对路径,如: cd ../../ ls abc/def .和.. 每个目录下都 ...

  6. VS2017 中安装SVN

    VS2017 中安装SVN   1.下载:SVN For Vs2017 2.安装: 先关闭VS2017,找到下载文件,直接双击,安装. 3.启用插件 打开Vs2017,直接可用.

  7. 阶段3 2.Spring_07.银行转账案例_3 分析事务的问题并编写ConnectionUtils

    不是没有事务造成的 这样相当于有四个connection 每一个都有自己独立的事物 每一个自己成功就提交事务. 已经提交的就执行结束.没有提交的就报异常 让这些操作使用同一个connection 事物 ...

  8. 40组合总和II

    题目:给定一个数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合.candidates 中的每个数字在每个组合中只能使用一 ...

  9. Java List集合 遍历 四种方式(包含 Lambda 表达式遍历)

    示例代码如下: package com.miracle.luna.lambda; import java.util.ArrayList; import java.util.List; /** * @A ...

  10. HTTP Status 500 ? Internal Server Error

    getWriter()和getOutputStream()不能同时调用 HTTP Status 500 ? Internal Server Error Type Exception Report Me ...