什么是Browser_Objects
JavaScript包含许多浏览器对象(Browser Objects),这些对象可以与浏览器窗体网页产生互动。Browser Objects也可被称作BOM,它包含一个名叫DOM的节点,每种对象模型都由一种层次结构组成,这种层次结构就像金字塔,DOM的顶层是document对象,BOM的顶层是window对象。
上图是Browser Objects的图示,包括BOM与DOM两部分,箭头代表继承关系。从上图可以大致了解JavaScript的所有特性。
什么是DOM
- DOM是Document Object Model的简写,既文档对象模型。
- DOM由一系列对象组成,是访问、检索、修改XHTML文档内容与结构的标准方法。
- DOM是跨平台与跨语言的。
- DOM用于XHTML、XML文档的应用程序接口(API)。
- DOM提供一种结构化的文档描述方式,从而使HTML内容使用结构化的方式显示。
- DOM标准是由w3c制定与维护的 http://www.w3.org/DOM/。
- DOM的顶层是document对象(DOM对象模型见上图)。
什么是BOM
- BOM是browser object model的缩写,简称浏览器对象模型
- BOM提供了独立于内容而与浏览器窗口进行交互的对象
- 由于BOM主要用于管理窗口与窗口之间的通讯,因此其核心对象是window
- BOM由一系列相关的对象构成,并且每个对象都提供了很多方法与属性
- BOM缺乏标准,JavaScript语法的标准化组织是ECMA,DOM的标准化组织是W3C
- BOM最初是Netscape浏览器标准的一部分
在BOM章节中你将学到什么
BOM教程中,同学们将学到与浏览器窗口交互的一些对象,例如可以移动,调整浏览器大小的window对象,可以用于导航的location对象与history对象,可以获取浏览器,操作系统与用户屏幕信息的navigator与screen对象,可以使用document作为访问HTML文档的入口,管理框架的frames对象等
BOM结构图
window对象是BOM的顶层(核心)对象,所有对象都是通过它延伸出来的,也可以称为window的子对象。
由于window是顶层对象,因此调用它的子对象时可以不显示的指明window对象,
全局的window对象
JavaScript中的任何一个全局函数或变量都是window的属性
示例
var
sTest
=
"
dreamdu
"
;
document
.
write
(
sTest
==
window
.
sTest
)
;
结果:
true
由于sTest是全局变量,因此可以通过window.sTest访问这个变量。
这点很重要,我们将在JavaScript作用域章节中详细介绍。
window与self对象
self对象与window对象完全相同,self通常用于确认就是在当前的窗体内。
window的子对象
- JavaScript document 对象
- JavaScript frames 对象
- JavaScript history 对象
- JavaScript location 对象
- JavaScript navigator 对象
- JavaScript screen 对象
window函数索引
窗体控制函数
窗体滚动轴控制函数
猴子提示: 上面几个函数的名字最后都带有To或By,to是绝对的意思(从整体而言),by是相对的意思(从原先的位置而言)
窗体焦点控制函数
新建窗体函数
对话框函数
状态栏属性
- JavaScript window.defaultStatus 属性
- JavaScript window.status 属性
时间等待与间隔函数
- JavaScript setTimeout() 函数
- JavaScript clearTimeout() 函数
- JavaScript setInterval() 函数
- JavaScript clearInterval() 函数
延伸阅读
- JavaScript作用域
document属性
- cookie -- 用户cookie
- title -- 当前页面title标签中定义的文字
- URL -- 当前页面的URL
下面内容的不建议使用
- alinkColor -- 代表HTML body标签的alink属性
- bgColor -- 代表HTML body标签的bgcolor属性
- fgColor -- 代表HTML body标签的text属性
- linkColor -- 代表HTML body标签的link属性
- vlinkColor -- 代表HTML body标签的vlink属性
- lastModified -- 页面最后修改的日期字符串,可以使用Date的构造函数转换为日期,例如:new Date(document.lastModified);
- referrer -- 浏览器history中后退一个位置的URL
由于document代表HTML文档的内容,因此可以通过它表示文档中加载的一些元素,这些元素全部通过集合访问。
- anchors -- 文档中所有锚(a name="aname")的集合
- applets -- 文档中所有applet标签表示的内容的集合
- embeds -- 文档中所有embed标签表示的内容的集合
- forms -- 文档中所有from标签表示的内容的集合
- images -- 文档中所有image标签表示的内容的集合
- links -- 文档中所有a(链接)标签表示的内容的集合
document函数
- JavaScript write() 函数
- JavaScript writeln() 函数
- JavaScript document.open() 函数
- JavaScript document.close() 函数
JavaScript内置对象
- Array
- Boolean -- 布尔对象
- Date -- 日期对象
- Function
- Math -- 算术运算对象
- Number -- 数字对象
- Object
- RegExp
- String -- 字符串对象
- Error
- EvalError
- RangeError
- ReferenceError
- SyntaxError
- TypeError
- URIError
- arguments
- arguments.callee
- arguments.length
全局属性
全局函数
- decodeURI -- 解码encodeURI函数编码的字符串
- decodeURIComponent -- 解码encodeURIComponent函数编码的字符串
- encodeURI -- 转义某些字符串对URI编码
- encodeURIComponent -- 转义某些字符串对URI的组件编码
- escape -- 使用转义序列编码字符串
- eval -- 执行字符串形式的JavaScript表达式或语句,并返回结果(如果有)
- isFinite -- 检测值是否为有限的
- isNaN -- 检测值是否为非数字
- parseFloat -- 将字符串解析为数字
- parseInt -- 将字符串解析为整数
- unescape -- 解码escape函数编码的字符串