zoukankan      html  css  js  c++  java
  • BOM,DOM,ECMAScripts三者的关系

    一:DOM
    文档对象模型(DOM)是表示文档(比如HTML和XML)和访问、操作构成文档的各种元素的应用程序接口(API)
    DOM是HTML与JavaScript之间沟通的桥梁。
     
    DOM下,HTML文档各个节点被视为各种类型的Node对象。
    每个Node对象都有自己的属性和方法,利用这些属性和方法可以遍历整个文档树。
    由于HTML文档的复杂性,DOM定义了nodeType来表示节点的类型,有12种节点类型
     
    节点类型描述子节点
    1 Element 代表元素 Element, Text, Comment, ProcessingInstruction, CDATASection, EntityReference
    2 Attr 代表属性 Text, EntityReference
    3 Text 代表元素或属性中的文本内容。 None
    4 CDATASection 代表文档中的 CDATA 部分(不会由解析器解析的文本)。 None
    5 EntityReference 代表实体引用。 Element, ProcessingInstruction, Comment, Text, CDATASection, EntityReference
    6 Entity 代表实体。 Element, ProcessingInstruction, Comment, Text, CDATASection, EntityReference
    7 ProcessingInstruction 代表处理指令。 None
    8 Comment 代表注释。 None
    9 Document 代表整个文档(DOM 树的根节点)。 Element, ProcessingInstruction, Comment, DocumentType
    10 DocumentType 向为文档定义的实体提供接口 None
    11 DocumentFragment 代表轻量级的 Document 对象,能够容纳文档的某个部分 Element, ProcessingInstruction, Comment, Text, CDATASection, EntityReference
    12 Notation 代表 DTD 中声明的符号。 None
     
    对于每种节点类型,nodeName 和 nodeValue 属性的返回值:
    节点类型nodeName 返回nodeValue 返回
    1 Element 元素名 null
    2 Attr 属性名称 属性值
    3 Text #text 节点的内容
    4 CDATASection #cdata-section 节点的内容
    5 EntityReference 实体引用名称 null
    6 Entity 实体名称 null
    7 ProcessingInstruction target 节点的内容
    8 Comment #comment 注释文本
    9 Document #document null
    10 DocumentType 文档类型名称 null
    11 DocumentFragment #document 片段 null
    12 Notation 符号名称 null
     
    二:BOM

    Window对象是BOM的顶层(核心)对象,所有对象都是通过它延伸出来的,也可以称为window的子对象

    由于window是顶层对象,因此调用它的子对象时可以不显示的指明window对象,例如下面两行代码是一样的:

    document.write("BOM");
    window.document.write("BOM");
    window对象是浏览器实例化的一个对象,可以使用for in来遍历出里面的属性。
    实例化的过程是在页面加载时候由javascript引擎完成的,整个页面里的要素都被浓缩到这个window对象,因为程序员无法通过编程语言来控制和操作这个实例化过程,所以开发时候我们就没有构建这个this指针的感觉,常常会忽视它,这就是干扰我们在代码里理解this指针指向window的情形。 
     
    扩展:

    new操作符会让构造函数产生如下变化:

      1.       创建一个新对象;

      2.       将构造函数的作用域赋给新对象(因此this就指向了这个新对象);

      3.       执行构造函数中的代码(为这个新对象添加属性);

      4.       返回新对象

     
    3.ECMAScript
    Javscript,JScript,ActionScript等脚本语言都是基于ECMAScript标准实现的。
    ECMAScript是一种由Ecma国际(前身为欧洲计算机制造商协会,英文名称是European Computer Manufacturers Association)通过ECMA-262标准化的脚本程序设计语言
     
    4.JavaScript的组成
    ECMAScript,BOM,DOM
     
     
     
     
     
     
     
     
  • 相关阅读:
    Mac 终端命令大全
    美女猜拳,破解,麻麻再也不担心单机游戏的内购了
    项目CPU异常高分析
    安卓第三方动态链接库so调用,解决未对java开放的函数调用,解决类名对齐问题
    安卓动态链接库系列-编写so
    web六间房密码加密过程
    某游戏情义触发 自动化测试框架
    安卓hook
    程序安装莫名其妙失败的解决方法,程序未彻底卸载
    偶然的错误发现一个bug,引人深思的null
  • 原文地址:https://www.cnblogs.com/zqzjs/p/5060764.html
Copyright © 2011-2022 走看看