JAvaScript和DOM(文档对象模型)和BOM(浏览器对象模型)

DOM是针对XML但经过扩展用于HTML的应用程序编程接口

可以这样理解:DOM可以把HTML页面中的元素转成一个对象树,并且DOM定义了其他语言如何通过其规定的方式来访问HTML中的元素,以及修改HTML页面中的元素
换言之,HTML DOM 是关于如何获取、修改、添加或删除 HTML 元素的标准
在 HTML DOM 中,所有事物都是节点。DOM 是被视为节点树的 HTML
可以这么说:DOM是链接HTML和javaScript语言之间的桥梁,没有DOMjavaScript无法访问HTML元素,也就无法创建动态HTML页面

javaScript 和DOM的关系

要改变页面的某个东西,JavaScript 就需要获得对 HTML 文档中所有元素进行访问的入口。这个入口,连同对 HTML 元素进行添加、移动、改变或移除的方法和属性,都是通过文档对象模型来获得的(DOM)

DOM把整个页面映射成一个多层节点结构,HTML页面中的每一个组成部分都是某种类型的节点,这些节点也包含这不同类型的数据
当网页被加载时,浏览器会创建页面的文档对象模型(Document Object Model)
HTML DOM 模型被构造为对象的树(就是HTML各个元素构成的树状结构)
HTML DOM节点树

DOM 节点
根据 W3C 的 HTML DOM 标准,HTML 文档中的所有内容都是节点:
整个文档是一个文档节点
每个 HTML 元素是元素节点
HTML 元素内的文本是文本节点
每个 HTML 属性是属性节点
注释是注释节点
注意:创建错误是以为元素节点包含文本,实际上文本节点是元素节点的子节点

方法是我们可以再节点上执行的动作:一些DOM对象常用方法见:
http://www.w3school.com.cn/htmldom/dom_methods.asp
DOM对象的常见属性:
http://www.w3school.com.cn/htmldom/dom_properties.asp
DOM的一些实例:
http://www.w3school.com.cn/example/hdom_examples.asp

通过可编程的DOM对象模型,JavaScript 获得了足够的能力来创建动态的 HTML
JavaScript 能够改变页面中的所有 HTML 元素
JavaScript 能够改变页面中的所有 HTML 属性
JavaScript 能够改变页面中的所有 CSS 样式
JavaScript 能够对页面中的所有事件做出反应

一般javaScript创建动态HTML页面的方式是:
在符合某种条件下修改HTML中某些DOM对象的属性、样式等
而修改的流程一般是:通过ID、标签名、类名等方式找到对应的元素对象,然后修改其属性、样式等

BOM(浏览器对象模型)

浏览器对象模型 (BOM) 使 JavaScript 有能力与浏览器“对话”:
DOM是javaScript和HTML页面进行对话的接口,javaScript可以通过DOM接口对HTML页面中的各个元素进行修改
BOM就是javaScript和浏览器对象进行对话的接口,我们真正在使用的时候浏览器是五花八门的,那如果想要使你的javaScript代码可以在不同的浏览器上显示相同的行为,那就必须定义一个javaScript和浏览器对象对话的接口,这个接口就是BOM
而BOM中定义的对象就是Window,所有浏览器都支持 window 对象。它表示浏览器窗口。也就是说你在javaScript中对window对象的操作,不管你在任何浏览器中都会执行相同的操作(因为所有的浏览器都支持window对象的相同的方法和属性)
所有 JavaScript 全局对象、函数以及变量均自动成为 window 对象的成员。
全局变量是 window 对象的属性。全局函数是 window 对象的方法。甚至 HTML DOM 的 document 也是 window 对象的属性之一
window对象有很多属性和方法:而且window许多属性也是一个对象
http://www.w3school.com.cn/js/js_window.asp
例如:window.screen对象:表示浏览器屏幕对象
window.location 对象用于获得当前页面的地址 (URL),并把浏览器重定向到新的页面。
window.history 对象包含浏览器的历史。
window.navigator 对象包含有关访问者浏览器的信息。
document.cookie 用来识别用户,cookie 是存储于访问者的计算机中的变量。每当同一台计算机通过浏览器请求某个页面时,就会发送这个 cookie。你可以使用 JavaScript 来创建和取回 cookie 的值
(类似于页面缓存的概念:当你使用浏览器访问一个页面的时候,会传递这个cookie对象,当你首次访问的时候cookie为null,如果此时你将一些值保存在cookie中,当你再次访问的时候cookie就包含了你保存进去的值)

你可能感兴趣的:(javaScript,DOM,BOM)