JavaScript中的DOM和BOM

JavaScript的构成

经常会被问到JavaScript是什么东西。听到不少回答都是:“是一个前端的语言。”这种说法比较宽泛,严格来讲一个完整的JavaScript由下列三个不一样的部分组成:前端

  • 核心(ECMAScript)
  • 文档对象模型(DOM)
  • 浏览器对象模型(BOM)

ECMAScript能够当作是JS这门语言的规范和基础,暂不作详述,咱们今天的重点是说说DOM和BOM。web

文档对象模型(DOM)

DOM把整个页面映射为一个多层节点结构,其中包含标签,包含数据。DOM提供的API可让咱们对各类节点进行增删改查。jQuery的元素选择器也就是以这堆API为核心封装出来的。浏览器

最初微软和网景分别给出了不一样形式的HTML来支持web开发,显然,这堆开发人员是极为不友好的,违背了web的跨平台天性。为此,负责制定Web通讯标准的W3C开始规划DOM。cookie

DOM级别

若是有人看到DOM标准是从DOM0开始的话,其实是不许确的,若是非要加进来,DOM0应该指的是微软和网景最初支持的DHTML。因此咱们认为DOM标准的发展应该是下文中的1,2,3级。对象

DOM1级

1998年10月,DOM1级成为W3C的推荐标准。接口

DOM1级的两个模块:事件

  • DOM 核心
  • DOM HTML

DOM核心依然做为规定如何映射XML文档结构来简化对文档的访问和操做。DOM HTML则是在DOM核心的基础上添加了对象和方法。ip

DOM2级

DOM2级为了让文档的操做更为精细和便捷,扩充了更多模块。其中包含:开发

  • DOM视图:定义了跟踪不一样文档视图的接口;
  • DOM时间:定义了事件和事件处理的接口;
  • DOM样式:定义了基于CSS为元素的应用样式接口;
  • DOM便利和范围:定义了遍历和操做文档树的接口;

DOM3级

DOM3级的推出也是为了扩展DOM,增长DOM的健壮性和通用性:文档

  • DOM加载和保存模块:引入了以统一方式加载和保存文档的方法;
  • DOM验证模块:引入验证文档的方法;
  • DOM核心模块扩展:支持XML1.0规范(XML Infoset,XPath和XML Base)

其余DOM支持

列出以下几种W3C推荐的对DOM支持的标准:

  • SVG
  • MathML
  • SMIL

浏览器对象模型(BOM)

BOM能够控制浏览器显示的页面之外的部分。

  • 弹出新的浏览器窗口;
  • 移动,缩放和关闭浏览器窗口;
  • 提供浏览器详细信息的navigator对象;
  • 提供浏览器所加载页面的详细信息的location对象;
  • 提供用户显示器分辨率详细信息的screen对象;
  • 对cookies的支持;
  • 像XMLHttpRequert和IE的ActiveXObject这样的自定义对象。 BOM是没有标准的,没个浏览器都有本身的实现。可是大多数浏览器会遵循某些默认规则。

总结

总的来讲DOM提供访问和操做网页内容的方法和接口,BOM提供与浏览器交互的方法和接口。

相关文章
相关标签/搜索