浏览器对象模型(BOM)
BOM提供的接口(API)可以让开发者访问和操作浏览器的窗口。使用BOM开发者可以操控浏览器显示页面之外的部分。而BOM独一无二的也是问题最多的地方,就是BOM没有相关标准的Javascript实现。当然,最后HTML5的出现改变了这种局面,这个版本的HTML5以正式规范的形式涵盖了尽可能多的BOM特性。
总的来说,BOM主要针对浏览器的窗口和子窗口(frame),不过通常会把任何特定于浏览器的拓展都归类于BOM的范畴内,比如:
弹出新浏览器窗口的能力;
移动、缩放和关闭浏览器的能力;
navigator 对象,提供关于浏览器的详尽信息;
location 对象,提供浏览器加载页面的详尽信息;
screen 对象,提供关于用户分辨率的详尽信息;
performance 对象,提供浏览器内存占用、导航行为和时间统计的详尽信息;
对 cookie 的支持;
其他自定义对象,如 XMLHttpRequest 和 IE 的 ActiveXObject 。
在HTML5出现之前,每个浏览器都有一套自己的BOM,而一些所谓共识的标准,例如 window 对象和 navigator 对象,每个浏览器都有一套他们自己定义的属性和方法。HTML5规范了BOM后,以后各个浏览器对于BOM的定义应该会趋向一致。
对象是类下面的具体事物,一般情况下由属性和方法构成,对象是真实存在的,占据内存。