DOM是 Document Object Model 的简写 ,文档对象模型
文档对象模型(Document Object
Model,简称DOM),是W3C组织推荐的处理可扩展置标语言的标准编程接口。它是一种与平台和语言无关的应用程序接口(API),它可以动态地访问程序和脚本,更新其内容、结构和www文档的风格(目前,HTMl和XML文档是通过说明部分定义的)。文档可以进一步被处理,处理的结果可以加入到当前的页面。DOM是一种基于树的API文档,它要求在处理过程中整个文档都表示在存储器中。另外一种简单的API是基于事件的SAX,它可以用于处理很大的XML文档,由于大,所以不适合全部放在存储器中处理。
取自于百度文库
BOM 是Browser Object Model简写,浏览器对象模型
Dom把文档当作一个对象看,即Bom把浏览器当作一个对象,
在 DOM 中,文档中的各个组件(component),可以通object.attribute 这种形式来访问。一个 DOM 会有一个根对象,这个对象通常就是 document。
而 BOM除了可以访问文档中的组件之外,还可以访问浏览器的组件,比如问题描述中的 navigator(导航条)、history(历史记录)等等。
Dom的核心就是Document,而Bom的核心就是window,从上下级关系来看,window是document的上级
javascript 有三部分构成,ECMAScript,DOM和BOM,根据宿主(浏览器)的不同,具体的表现形式也不尽相同,ie和其他的浏览器风格迥异,IE 扩展了 BOM,加入了 ActiveXObject 类,可以通过 JavaScript 实例化 ActiveX 对象
ECMAScript扩展知识:
① ECMAScript是一个标准,JS只是它的一个实现,其他实现包括ActionScript。
② “ECMAScript可以为不同种类的宿主环境提供核心的脚本编程能力……”,即ECMAScript不与具体的宿主环境相绑定,如JS的宿主环境是浏览器,AS的宿主环境是Flash。
③ECMAScript描述了以下内容:语法、类型、语句、关键字、保留字、运算符、对象。
window对象的属性
window对象有六大属性
-
history 历史记录
-
location 定位信息
-
navigator 信息
-
screen 屏幕信息
-
frames 框架集 (已经被淘汰)
-
document 文档 也是最重要的
- window.history.back() 向前跳转
- window.history.forword() 向后跳转
- window.history.go() 扩号中无值或者为0的情况是跳转当前页 ,1为向前一页,-1则为向后一页
- window.history.length 历史的页数
window.location
- window.location.assgin(href) 括号中为跳转地址,或window.location=‘要跳转的地址’ ,跳转到新页面
- window.location.reload(true) 强制从服务器加载当前页
- window.location.href 返回当前页完整url
- window.location.protocol 返回当前页所使用的http协议,
http协议就是超文本传输协议,也就是浏览器和服务器之间的通讯,当输入url地址时,浏览器根据自身携带数据请求服务器,服务器返回一系列数据信息(这是我理解的意思,如有错误还请指教)
- window.location.host 返回当前页面的域名加端口号
- window.location.hostname 返回当前页面的域名 没有端口号
- window.location.pathname 返回当前页所在的目录路径
- window.location.search 返回当前页面所带参数
- window.location.orgin 返回当前页面参数前的url地址
- window.name 属性可设置或返回存放窗口大的名称的一个字符串
- window.closed 检测窗口是否关闭 关闭则返回true 否则返回false
- window.opener 返回创建此窗口的窗口引用。就是从哪个窗口跳过来的,可以引用之前那个跳过来的窗口中的数据
- window.self elf 属性返回指向当前 window 对象的引用,利用这个属性,可以保证在多个窗口被打开的情况下,正确调用当前窗口内的函数或属性而不会发生混乱。
if (window.parent.frames[0] != window.self) {
// 当前对象不是frames列表中的第一个时
}
- window.top属性返回当前窗口的最顶层浏览器窗口。