读《高程3》系列之JavaScript实现

一个完整的JavaScript实现是有下面三个不同的部分组成的:

*核心(ECMAScript);

*文档对象(DOM);

*浏览器对象模型(BOM);

一、ECMAScript;

1,ECMAScript与web浏览器没有以来关系;

2,这门语言本身不包含输入和输出的定义;

3,web浏览器只是ECMAScript实现可能的宿主环境之一,另外的如node、AdobeFlash;

4,宿主环境不仅提供基本的ECMAScript实现,同时也会提供该语言的扩展,以便语言与环境之间对接交互。这些扩展如---DOM,则利用ECMAScript的核心类型和语法提供更多具体的功能,以便实现针对环境的操作;

5,ECMAScript又下面组成;

  *语法;

  *类型;

  *语句;

  *关键字;

  *保留字;

  *操作符;

  *对象;

6,ECMAScript就是对实现该标准规定的各个方面内容的语言的描述;

二、文档对象模型(DOM);

1,文档对象模型开始是针对XML的,但是经过扩展用于HTML的引用程序编程接口;

2,DOM把整个页面映射为一个多层节点结构(树形图),XML和HTML页面中的每个组成部分都是某种类型的节点,这些节点又包含则不同类型的数据。

3,通过DOM创建的树形图,可以控制页面内容和结构,借助DOM提供的API,可以进行增删改查;

4.1,DOM包括DOM1和DOM2,DOM1包括DOM核心和DOM HTML。其中DOM核心规定的是如何映射基于XML的文档结构,以便简化对文档中任意部分的访问和操作。DOM HTML模块则在DOM核心的基础上加以扩展,添加了针对HTML的对象和方法;

这是DOM0级别,这个级别的事件如下

<button onclick="fn" id='myButton'></button>


<script>
document.getElementById("myButton").onclick = function () {
        alert('thanks');
}
</script>

4.2,DOM2扩充了鼠标和用户界面事件、范围、遍历(迭代DOM文档的方法)等细分模块,而且通过对象接口增加了对CSS的支持。DOM1级中的DOM核心也经过扩展开始支持XML命名空间。

   DOM视图(DOM views):定义了跟踪不同文档(例如,应用CSS之前和之后的文档)视图的接口
   DOM事件(DOM Events):定义了事件和事件处理的接口
   DOM样式(DOM Style):定义了基于CSS为元素应用样式的接口
   DOM遍历和范围(DOM Traversal and Range):定义了遍历和操作文档树的接口;

DOM2级事件;

监听函数注册,通过addEventListener或者attachEvent(ie);

4.3,DOM3进一步扩展了DOM,引入了以统一方式加载和保存文档的方法——在DOM架子啊和保存模块中定义;新增了验证文档的方法——在DOM验证模块中定义。

三、浏览器对象模型(BOM)

1,开发人员可以是用BOM控制浏览器显示的页面以外部分;

2,从根本上讲,BOM只处理浏览器窗口和框架,但人们习惯上也把所有针对JavaScript扩展算作BOM一部分,有如下扩展;

  * 弹出新浏览器窗口功能;

  * 移动、缩放和关闭浏览器窗口的功能;

  * 提供浏览器详细信息的navigator对象;

  * 提供浏览器所加载页面的详细信息的location对象;

  * 提供用户显示器分辨率信息的screen对象;

  * 对cookies的支持;

  * 像XMLHttprequest和IE的ActiveXobject这样的自定义对象;

3,由于没有BOM标准,因为每个浏览器都有自己的实现;

原文地址:https://www.cnblogs.com/thomas-yang-github/p/11651312.html