此系列文章,用于记录所学,若有错误欢迎指出。css
1.核心(ECMAScript)html
2.文档对象模型(DOM)前端
3.浏览器对象模型(BOM)node
ECMAScript说白了是定义Javascript的标准,而这种标准与浏览器并没有依赖关系。浏览器
咱们如今前端所使用的Javascript只是遵循这一标准的,以浏览器为宿主平台的脚本语言。cookie
遵循这一标准的脚本语言均可以称之为js。dom
而js的宿主平台除了咱们最经常使用的浏览器平台以外,还有node,和Adobe flash等。xml
而这一部分的主要内容,通常指的是js的数据类型,变量的声明,语法等htm
Dom这个概念相信许多人都知道对象
那么它具体是啥呢?
我在看JS高编以前也是知道有dom节点,bom节点等。但这个dom究竟是什么呢?
我根据书中的描述是这样理解dom的。
dom至关因而对xml拓展后的针对html的API。
这么说可能不太好理解,那么这样说吧。
dom先将html页面映射为一个多层的有许多节点的对象,而后dom向咱们提供一个操做这些映射的节点的方法。
咱们经过这些操做节点的API来操做页面中的节点。
而dom节点就是咱们能够经过这些API操做的节点(我是这样理解的)
在知道dom大概是啥以后,另外一个问题随之而来。
DOM的级别?
我以前也在许多地方见过相似于DOM0级,DOM2级这样的概念。
那这里的DOM级别又指的是什么呢?
咱们都知道,不一样的浏览器之间有兼容性问题。
这种不一样浏览器之间的差别,在不一样的浏览器的DOM对象之间固然也是存在的。
这里就是IE在搞事了,低版本ie无论是获取节点的样式,仍是其余的dom操做都和咱们如今经常使用的有所区别。
那么DOM级别就是一个针对DOM的标准的版本,意思就是DOM对象由W3C制定了一套全部浏览器DOM都应该遵照的标准。
而后这个标准随着时间的推移有着不一样的版本,对应不一样版本标准的DOM对象就分出了级别。
首先是DOM0级,咱们常说onclick 这些用户事件是dom0级事件,然而实际上dom0级是不存在的,这个版本指的每每是最初的DHTML的那个版本。
后面对DOM的标准的更新都以此为参考点,因此有了DOM一、DOM二、DOM3。
而后是DOM1,这个版本的标准主要针对的是规范dom映射事后的文档结构。
主要分为了两个部分,第一个部分:DOM核心 用于规定如何映射html文档结构
第二个部分:DOMhtml 定义了一些针对html的对象和方法。
这个版本是没有规定用户事件的相关标准的,因此咱们常说的只有DOM0级事件 DOM2级事件 而没有DOM1级事件。
其次是DOM2,这个版本针对的就是页面了
好比一些对css样式操做的支持,扩充了鼠标和用户事件,拓展支持XML命名空间
在这个版本主要分为如下几个板块:
1. DOM视图:用于跟踪文档
2.DOM事件:事件和时间的处理
3.DOM样式:操做CSS的样式接口
4.DOM遍历和范围:如何遍历文档树和操做文档树
最后是DOM3,这个版本扩充了一些键盘的用户事件
添加了加载和保存文档的方法。
新增验证文档的方法。
对dom核心进行拓展:支持XML1.0
Bom相似于DOM,他两的区别从名字上咱们就能够看出端倪。
DOM是针对操做文档树的API接口,那么BOM对象就是用于操做浏览器行为的。
BOM的主要功能有:
1.弹出新浏览器窗口
2.移动、缩放、关闭窗口
3.提供浏览器的详细信息(navigator)
4.提供页面详细信息(location)
5.提供用户屏幕分辨率等信息(screen)
6.对cookie的支持
7.XMLHttpRequest 和 ActiveXObject
用于上述操做的对象能够说都是BOM